php中file_get_content 和curl以及fopen 效率分析
三個函數(shù)雖然都是讀取資源的函數(shù),但各自的應(yīng)用場景不同。
curl多用于互聯(lián)網(wǎng)網(wǎng)頁之間的抓取,fopen多用于讀取文件,而file_get_contents多用于獲取靜態(tài)頁面的內(nèi)容。
1. fopen /file_get_contents 每次請求都會重新做DNS查詢,并不對DNS信息進(jìn)行緩存。但是CURL會自動對DNS信息進(jìn)行緩存。對同一域名下的網(wǎng)頁或者圖片的請求只需要一次DNS查詢。這大大減少了DNS查詢的次數(shù)。所以CURL的性能比fopen /file_get_contents 好很多。
2. fopen /file_get_contents在請求HTTP時,使用的是http_fopen_wrapper,不會keeplive。而curl卻可以。這樣在多次請求多個鏈接時,curl效率會好一些。
3. curl可以模擬多種請求,例如:POST數(shù)據(jù),表單提交等,用戶可以按照自己的需求來定制請求。而fopen / file_get_contents只能使用get方式獲取數(shù)據(jù)。
相關(guān)文章
KindEditor在php環(huán)境下上傳圖片功能集成的方法示例
這篇文章主要介紹了PHP環(huán)境下如何實(shí)現(xiàn)使用KindEditor編輯器上傳圖片,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07php使用GD實(shí)現(xiàn)顏色漸變實(shí)例
這篇文章主要介紹了php使用GD實(shí)現(xiàn)顏色漸變的方法,實(shí)例分析了php中GD庫的使用技巧,需要的朋友可以參考下2015-06-06php中Array2xml類實(shí)現(xiàn)數(shù)組轉(zhuǎn)化成XML實(shí)例
這篇文章主要介紹了php中Array2xml類實(shí)現(xiàn)數(shù)組轉(zhuǎn)化成XML的方法,實(shí)例分析了數(shù)組轉(zhuǎn)化成XML實(shí)現(xiàn)類Array2xml,是非常實(shí)用的數(shù)組轉(zhuǎn)化技巧,需要的朋友可以參考下2014-12-12php實(shí)時倒計時功能實(shí)現(xiàn)方法詳解
這篇文章主要介紹了php實(shí)時倒計時功能實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了php結(jié)合前臺JS的時間戳操作實(shí)現(xiàn)倒計時功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02