PHP - 通过fread下载文件,保留最后修改时间

时间:2012-06-04 15:04:49

标签: php download fread filemtime

以下脚本(只是相关部分)让我下载文件:

if ($file = fopen($file, 'r'))
{
    if(isset($_SERVER['HTTP_RANGE']))
    {
        fseek($file, $range);
    } 
    while(!feof($file) && 
        (!connection_aborted()) && 
        ($bytes_send<$new_length))
    {
        $buffer = fread($file, $chunksize);
        print($buffer); //echo($buffer); // is also possible
        flush();
        $bytes_send += strlen($buffer);
    }
    fclose($file);
}

执行此操作后,下载的文件将显示实际时间作为创建时间。

我想知道如何保留它在服务器上的最后修改文件。

我知道我可以通过filemtime获取信息,但我不知道如何将其与上述脚本结合使用。

1 个答案:

答案 0 :(得分:0)

在发送任何输出之前,请执行

header("Last-Modified: " . gmdate("D, d M Y H:i:s", filemtime($file)) . " GMT");

我认为这不会导致Web浏览器在本地保存该修改时间。我认为你需要使用某种类型的存档格式,比如zip。