【发布时间】:2011-12-03 11:21:40
【问题描述】:
我想获取远程文件的最后修改时间。我正在使用我在 stackoverflow 上找到的这段代码
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);
//don't fetch the actual page, you only want headers
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_HEADER, 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);
echo $result;
$info = curl_getinfo($curl);
print_r($info);
if ($info['filetime'] != -1) { //otherwise unknown
echo date("Y-m-d H:i:s", $info['filetime']); //etc
}
这段代码的问题我总是得到 filetime = -1。但是当我删除
curl_setopt($curl, CURLOPT_NOBODY, true);
然后我得到正确的修改时间。
是否有可能获得上次修改时间但使用
curl_setopt($curl, CURLOPT_NOBODY, true);
包含在脚本中。 我只需要页面的标题,而不是正文。
提前致谢
【问题讨论】:
-
您是否得到任何实际的标题信息?某些服务器可能(错误)配置为不响应 HEAD 请求。
-
是的,我正在获取标题信息,但仅当代码中没有
curl_setopt($curl, CURLOPT_NOBODY, true);时。