2013-05-12 2 views
0

나는 오히려 단순한 힘 다운로드 스크립트가 있습니다PHP 힘 다운로드 스크립트로 시간을 계산하는 방법?

$thefile = $_GET['id']; 
$file = 'http://www.mywebsite.com/test/'.$thefile; 
header('Content-Disposition: attachment; filename='.$thefile); 
header("Content-Type: application/force-download"); 
@readfile($file); 

을 그리고 그것은 남은 시간을 표시하지 않습니다 제외하고는, 잘 작동 ("시간을 계산할 수 없습니다").

은이 코드를 사용하여 비슷한 문제 here 가진 사람을 발견

# for URL paths that begin with "/foo/bar/" 
SetEnvIf Request_URI ^/foo/bar/ no-gzip=1 

# for files that end with ".py" 
<FilesMatch \.py$> 
    SetEnv no-gzip 1 
</FilesMatch> 

그러나 슬프게도, 나는 그 일을 얻을 수 없습니다. 내 파일은 미디어 파일 (등 AVI, WMV, MP4 등), 그래서 나는이 라인을 따라 코드를 수정해야 할 것입니다 가정 :

SetEnvIf Request_URI ^/test/ no-gzip=1 

<FilesMatch "\.(avi|wmv|mp4|mpg|mpeg|m4v)$"> 
    SetEnv no-gzip 1 
</FilesMatch> 

나는 또한 간단한 테스트 폴더의 경로를 변경,하지만 시간이 아직 표시되지 않습니다.

?

답변

0

브라우저가 전체 파일 크기를 알 수 있도록 내용 길이 헤더를 추가해야합니다.

header("Content-Length: " . filesize($file)); 

this example을 살펴보십시오.

+0

고맙습니다 만, (header ("Content-Length :". filesize ($ file));)하지만 사용하겠습니다. –

+0

@EmilyAdler GZIP를 사용 중지하고 Content-length를 반환하면 트릭을 수행해야합니다. 서버에서 브라우저로 반환 한 헤더를 확인하지 않으면 확인하십시오. Firefox의 경우 Tamper Data라는 멋진 플러그인이 있습니다. – Tom