2
下面的腳本(只是相關的部分),讓我下載一個文件:PHP - 通過FREAD文件下載保存最後修改時間
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獲得信息,但我不知道如何將它與上面的腳本結合使用。
我不確定我是否理解您的需求,但是如果您想每次更新上次訪問,請檢查觸摸功能(http://php.net/touch) – mishu
您需要使用更高級的方法來檢索http請求的標題並提取Last-Modified標題。基本的fread()調用完全不能做到這一點。看看使用[流](http://php.net/streams)或[捲曲](http://php.net/curl) –
密蘇:是的,觸摸的問題是,我需要「觸摸」的東西...給定的腳本,我只是輸出原始文件內容! 等等...... @MarcB:我正在尋找解決方案,但現在我還沒有完成! 謝謝 – dop3