- 相關(guān)推薦
php中file-get-contents與curl性能比較分析的內容
PHP中fopen,file_get_contents,curl函數的區別:
1.fopen /file_get_contents 每次請求都會(huì )重新做DNS查詢(xún),并不對 DNS信息進(jìn)行緩存。但是CURL會(huì )自動(dòng)對DNS信息進(jìn)行緩存。對同一域名下的網(wǎng)頁(yè)或者圖片的請求只需要一次DNS查詢(xún)。這大大減少了DNS查詢(xún)的次數。所以CURL的性能比f(wàn)open /file_get_contents 好很多。
2.fopen /file_get_contents 在請求HTTP時(shí),使用的是http_fopen_wrapper,不會(huì )keeplive。而curl卻可以。這樣在多次請求多個(gè)鏈接時(shí),curl效率會(huì )好一些。
3.fopen / file_get_contents 函數會(huì )受到php.ini文件中allow_url_open選項配置的影響。如果該配置關(guān)閉了,則該函數也就失效了。而curl不受該配置的影響。
4.curl 可以模擬多種請求,例如:POST數據,表單提交等,用戶(hù)可以按照自己的需求來(lái)定制請求。而fopen / file_get_contents只能使用get方式獲取數據。
file_get_contents 獲取遠程文件時(shí)會(huì )把結果都存在一個(gè)字符串中 fiels函數則會(huì )儲存成數組形式
因此,我還是比較傾向于使用curl來(lái)訪(fǎng)問(wèn)遠程url。Php有curl模塊擴展,功能很是強大。
【php中file-get-contents與curl性能比較分析的內容】相關(guān)文章:
PHP中curl的使用實(shí)例07-31
PHP中的排序函數區別分析08-23
PHP的cURL庫有效地抓網(wǎng)頁(yè)的技巧08-08
探討PHP函數的實(shí)現原理及性能07-07
PHP對象注入的實(shí)例分析08-27
php中session的實(shí)現原理以及大網(wǎng)站應用應注意的問(wèn)題分析07-26
PHP中函數的使用說(shuō)明09-01