首页 > 后端开发 > php教程 > 如何在 PHP 中使用curl 检索远程文件的上次修改日期?

如何在 PHP 中使用curl 检索远程文件的上次修改日期?

Mary-Kate Olsen
发布: 2024-11-13 01:48:02
原创
288 人浏览过

How Can I Retrieve the Last Modified Date of a Remote File Using curl in PHP?

通过 Curl 在 PHP 中进行仅标头检索

通过仅标头检索减少服务器负载

使用PHP和curl检索网页内容时,可以指定是否仅获取标题或整个页面。选择仅标头选项会降低远程服务器所需的处理能力和带宽,因为它不需要生成和传输页面正文。

通过curl_getinfo获取上次修改日期

要检索远程文件的上次修改日期或 If-Modified-Since 标头,可以使用curl_getinfo()。传递curl 句柄(不是标头数据)作为第一个参数,并指定CURLINFO_FILETIME 作为第二个参数。但是,请务必注意,文件时间可能并不总是可用,在这种情况下,它将报告为 -1。

示例:检索上次修改日期

<?php

class URIInfo
{
    public $info;
    public $header;
    private $url;

    public function __construct($url)
    {
        $this->url = $url;
        $this->setData();
    }

    public function setData()
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $this->url);
        curl_setopt($curl, CURLOPT_FILETIME, true);
        curl_setopt($curl, CURLOPT_NOBODY, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        $this->header = curl_exec($curl);
        $this->info = curl_getinfo($curl);
        curl_close($curl);
    }

    public function getFiletime()
    {
        return $this->info['filetime'];
    }
}

$uri_info = new URIInfo('http://www.codinghorror.com/blog/');
$filetime = $uri_info->getFiletime();
if ($filetime != -1) {
    echo date('Y-m-d H:i:s', $filetime);
} else {
    echo 'filetime not available';
}
登录后复制

?>

额外注意事项

可以使用方法扩展 URIInfo 类以检索其他标头信息,例如内容类型或 ETag。

以上是如何在 PHP 中使用curl 检索远程文件的上次修改日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板