다음 스크립트 (단지 관련 부분) 나 파일을 다운로드 할 수 있습니다 :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() 호출로는이 작업을 수행 할 수 없습니다. [stream] (http://php.net/streams) 또는 [curl] (http://php.net/curl) –
을 사용하십시오. mishu : 예, 터치의 문제점은 내가 뭔가를 만질 필요가 있다는 것입니다. ... 주어진 스크립트로 나는 그냥 원시 파일 내용을 출력하고 있습니다! 그래서 @MarcB : 나는 해결책을 찾고 있지만, 지금은 아직 끝나지 않았습니다! 감사합니다 – dop3