如何取得一个远程文件的更新时间

如题:如何取得一个远程文件的更新时间。

补充:如果简单的get_headers或者curl_getinfo,它的结果是依赖于web service的设置而不是准确的文件modified time,能否有一个类似本地文件filemtime的解决方法?

评论 (0)链接2012-03-27 

PHP的headers就可以啊

  
<?php
$url = 'http://www.kuqin.com/php5_doc/function.get-headers.html';
$headInf = get_headers($url,1);//获取文件头信息
var_dump($headInf );//打印文件头信息
echo "<br />";
echo '最后更新时间:' . $headInf['Last-Modified'];//输出文件最后更新时间
echo "<br />";
echo '最后更新时间:' . strtotime($headInf['Last-Modified']);//输出最后更新时间UNIX时间戳
?>
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-27
  
<?php
$curl = curl_init('http://www.example.com/filename.txt');

//don't fetch the actual page, you only want headers
curl_setopt($curl, CURLOPT_NOBODY, true);

//stop it from outputting stuff to stdout
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// attempt to retrieve the modification date
curl_setopt($curl, CURLOPT_FILETIME, true);

$result = curl_exec($curl);

if ($result === false) {
die (curl_error($curl));
}

$timestamp = curl_getinfo($curl, CURLINFO_FILETIME);
if ($timestamp != -1) { //otherwise unknown
echo date("Y-m-d H:i:s", $timestamp); //etc
}
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-27

可以读取http头信息来获取:

  
$url = 'http://www.baidu.com/index.html'; //远程文件地址
$headInf = get_headers($url,1);//获取文件头信息
echo strtotime($headInf['Last-Modified']);//输出最后更新时间UNIX时间戳
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-27
德问是一个专业的编程问答社区,请 登录注册 后再提交答案