透過cURL 在PHP 中只擷取標頭
簡介
在某些情況下,僅檢索遠端資源的HTTP 標頭可以提供效能優勢。本文探討了僅標頭檢索的優點,並提供了 PHP cURL 解決方案來檢索遠端檔案的上次修改日期。
節省處理能力和頻寬
僅取得標頭時,與傳回整個頁面相比,遠端伺服器產生的處理開銷較少。同樣,網路頻寬消耗也會減少,這對於低頻寬連線或保留頻寬至關重要的情況是有益的。
檢索上次修改日期
取得最後修改日期或 If-Modified-Since 標頭,可以使用 cURL 的 CURLOPT_FILETIME 和 CURLOPT_NOBODY 選項。這些設定指示 cURL 僅檢索文件時間資訊並跳過下載頁面內容。
範例實作
class LastChange { public $lastChange; function setLastChange() { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://url/file.xml"); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_FILETIME, true); curl_setopt($curl, CURLOPT_NOBODY, true); $header = curl_exec($curl); $this->lastChange = curl_getinfo($curl, CURLINFO_FILETIME); curl_close($curl); } function getLastChange() { return $this->lastChange; } }
透過將CURLINFO_FILETIME 作為第二個參數傳遞給curl_getinfo( ),最後修改日期以Unix 形式檢索
其他注意事項
但是,請務必注意,文件時間資訊可能並不總是可用。在這種情況下,curl_getinfo() 將傳回 -1,表示無法確定檔案時間。
以上是如何使用 cURL 在 PHP 中高效檢索遠端檔案的上次修改日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!