php curl检索.php文件的修改日期

时间:2014-03-10 14:49:21

标签: php curl

我一直在努力工作几个小时,似乎无法找到一个好的答案。

我正在制作一个脚本来检索外部服务器上几个文件的修改日期。 由于我目前正在使用curl来检索这些数据,因此在我的情况下,它只显示我需要请求的所有文件的数据接受.php文件..

我使用的小脚本..

function modified($url){
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_NOBODY, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_FILETIME, true);
    $result = curl_exec($curl);

    $timestamp = curl_getinfo($curl, CURLINFO_FILETIME);
    if ($timestamp != -1):
        echo date("Y-m-d H:i:s", $timestamp);
    else:
            echo 'No timestamp found';
        endif;


}
echo modified('http://myurl.com/');

我做错了什么或者在这种情况下检索.php文件是不可能的。

1 个答案:

答案 0 :(得分:1)

你想要做的事情是不可能的。

解决这个问题的方法是编写另一个PHP文件,该文件能够检查服务器上给定php文件的filemtime

<强> filemtime.php

<?php

// Get Requested File Name
$filename = isset($_GET['filename']) ? $_GET['filename'] : '';

// Return Result
if (file_exists($filename)) {
    echo filemtime($filename);
} else {
    echo 0;
}

?>

然后用法就是这样:

<?php

// Load last time index.php was modified on the server
$filemtime = intval(file_get_contents('http://yourdomain.com/filemtime.php?filename=index.php'));

// Parse Result
echo 'index.php was modified on '. date('d/m/Y H:i:s a', $filemtime);

?>