通过 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中文网其他相关文章!