PHP面試常用知識

來源:文萃谷 2.98W

PHP基礎知識,新人必備,老人必會。如果你忘記了,就趕緊拾起來吧。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。PHP面試常用知識有哪些?下面是相關的知識,歡迎閲讀

PHP面試常用知識

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、字符串翻轉 strrev

3、mysql關於時間的函數 now() month() year day dayofweek()

4、截取中文無亂碼的方法

5、客户端、服務器變量

$_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設置過期時間

session_set_cookie_params(24*3600);

7、常用排序函數

sort rsort ksort krsort natsort

8、字符串的.處理,常用數組相關

explode implode

9、常用的html標籤處理函數

htmlentities 標籤轉換為"等

html_entity_decode 轉換回來

addslashes

閲讀安全那一章節

9.2 入數據庫前的處理

mysql_real_escape_string();

10、內存相關函數

memory_get_usage()

memory_get_peak_usage()

memory_limit限制內存使用

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、文件擴展名

parse_url PHP_URL_SCHEMAPHP_URL_HOSTPORTPATHQUERYFRAGEMENT

pathinfo basenameextensionfilenamedirname

basename 正則

14、strrchr(str, $delimiter)

HTTP常用知識點

15、http協議常用code

16、http1.1與http1.0的區別

增加了長連接以及複用鏈接的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、時區設置 date_default_timezone_set(‘Asia/shanghai’)

或者中修改_zone

20、查看的位置

phpinfo() | grep

21、slowlog在中設置

request_slowlog_timeout=1s

slowlog=/path/to/

22、魔術方法

__SET, __GET, __CALL, __toString, __construct, __destruct, __set, __isset, __unset, __autoload, __clone

23、static靜態綁定

24、安全模式對系統函數的影響

之所以有安全模式,是為了試圖去解決共享web服務器問題而產生的,避免注入腳本去執行腳本等。但即使禁止了php腳本,

攻擊人員仍可以使用perl腳本,所以從5.4版本起被廢除。

只要影響系統文件相關操作,會判斷文件的owner跟當前owner是否為同一個,為同一個則執行。

25、php中垃圾回收機制

首先變量超出自己的作用域會被自動回收內存,也可以使用unset主動釋放內存。一次web請求結束後,程序中對象佔用的內存也會被釋放掉。

26、為何對象支持foreach,原理是啥?

foreach一個對象,是因為對象實現了Iterator接口,或者子接口ArrayIterator。

foreach時實際調用被循環對象的相關方法實現的,接口方法有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);//會釋放鎖

}

熱門標籤