- PHP面試知識 推薦度:
- 相關(guān)推薦
PHP面試常用知識
PHP基礎(chǔ)知識,新人必備,老人必會。如果你忘記了,就趕緊拾起來吧。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語言。PHP面試常用知識有哪些?下面是相關(guān)的知識,歡迎閱讀。
1、php時間處理
a、獲取前一天 echo date(‘Y-m-d H:i:s’, strtotime(“-1 day”))
b、某個時間的前一天
$date = new DateTime(now());
$date->add(new DateInterval(P10D));
$date->sub(new DateInterval(PT1440M));
2、字符串翻轉(zhuǎn) strrev
3、mysql關(guān)于時間的函數(shù) now() month() year day dayofweek()
4、截取中文無亂碼的方法
5、客戶端、服務(wù)器變量
$_SERVER[‘remote_addr’] $_SERVER[’SERVER_ADDR’]
5.1 是否為代理
5.2判斷是否為ajax請求
isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest';
6、session設(shè)置過期時間
session_set_cookie_params(24*3600);
7、常用排序函數(shù)
sort rsort ksort krsort natsort
8、字符串的處理,常用數(shù)組相關(guān)
explode implode
9、常用的html標(biāo)簽處理函數(shù)
htmlentities 標(biāo)簽轉(zhuǎn)換為"等
html_entity_decode 轉(zhuǎn)換回來
addslashes
閱讀安全那一章節(jié)
9.2 入數(shù)據(jù)庫前的處理
mysql_real_escape_string();
10、內(nèi)存相關(guān)函數(shù)
memory_get_usage()
memory_get_peak_usage()
memory_limit限制內(nèi)存使用
11、獲取客戶端ip,要考慮代理
if($_SERVER[‘http_x_forwarded_for’] != ‘’){
$clientIp = !empty($_SERVER[‘REMOTE_ADDR’]) ? $_SERVER[‘REMOTE_ADDR’] : !empty($_ENV[‘REMOTE_ADDR’]) ? $_ENV[‘REMOTE_ADDR’] : ‘unknown’;
}
12、驗證電子郵件
echo preg_match(‘/^[w-.]+@[w-.]+[.w+]+$/’, $email);
13、文件擴(kuò)展名
parse_url PHP_URL_SCHEMAPHP_URL_HOSTPORTPATHQUERYFRAGEMENT
pathinfo basenameextensionfilenamedirname
basename 正則
14、strrchr(str, $delimiter)
HTTP常用知識點(diǎn)
15、http協(xié)議常用code
16、http1.1與http1.0的區(qū)別
增加了長連接以及復(fù)用鏈接的tcp技能,增加了host(虛擬), cache_control,
16.2 http請求頭信息
host,url,method,accept_language,content_length,user_agent,code,cache_control,tag,expire,server
17、enctype=‘multipart/form-data’
18、setcookie(name,value,expire,path,domain)
19、時區(qū)設(shè)置 date_default_timezone_set(‘Asia/shanghai’)
或者php.ini中修改date.time_zone
20、查看php.ini的位置
phpinfo() | grep php.ini
21、slowlog在php-fpm.ini中設(shè)置
request_slowlog_timeout=1s
slowlog=/path/to/slowlog.log
22、魔術(shù)方法
__SET, __GET, __CALL, __toString, __construct, __destruct, __set, __isset, __unset, __autoload, __clone
23、static靜態(tài)綁定
24、安全模式對系統(tǒng)函數(shù)的影響
之所以有安全模式,是為了試圖去解決共享web服務(wù)器問題而產(chǎn)生的,避免注入腳本去執(zhí)行腳本等。但即使禁止了php腳本,
攻擊人員仍可以使用perl腳本,所以從5.4版本起被廢除。
只要影響系統(tǒng)文件相關(guān)操作,會判斷文件的owner跟當(dāng)前owner是否為同一個,為同一個則執(zhí)行。
25、php中垃圾回收機(jī)制
首先變量超出自己的作用域會被自動回收內(nèi)存,也可以使用unset主動釋放內(nèi)存。一次web請求結(jié)束后,程序中對象占用的內(nèi)存也會被釋放掉。
26、為何對象支持foreach,原理是啥?
foreach一個對象,是因為對象實現(xiàn)了Iterator接口,或者子接口ArrayIterator。
foreach時實際調(diào)用被循環(huán)對象的相關(guān)方法實現(xiàn)的,接口方法有rewind,next,current,key,valid
27、安全寫一個文件
function write_file($filename, $content){
$file = fopen($filename, 'w+');
while(!flock($file, LOCK_EX)){
}
fwrite($file, $content);
fclose($file);//會釋放鎖
}
【PHP面試常用知識】相關(guān)文章:
PHP面試常用知識大全07-04
php面試備考知識點(diǎn)08-04
php面試的備考知識點(diǎn)08-12
PHP語言常用的面試題10-19
PHP基本語法知識09-16
php基礎(chǔ)入門知識08-27
如何學(xué)好PHP知識07-25
PHP語法入門知識10-01