|
三個函數(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ù)。
php技術(shù):php中file_get_content 和curl以及fopen 效率分析,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。