파일 다운로드용 HTTP 헤더: 콘텐츠 유형 문제 해결
파일 다운로드에는 브라우저가 파일을 올바르게 처리하도록 적절한 HTTP 헤더 설정이 포함되는 경우가 많습니다. . 특정 파일이 잘못 식별되는 경우 Content-Type 헤더가 없기 때문일 수 있습니다.
이를 수정하려면 다음 단계를 따르세요.
1. 콘텐츠 유형 헤더 설정:
header('Content-Type: application/force-download');<br>
이 일반 type은 광범위한 파일 형식을 다루며 브라우저가 파일을 다운로드하도록 강제합니다.
2. 출력 버퍼링 제거:
@ob_end_clean();<br>
파일 다운로드 프로세스에 방해가 되지 않도록 모든 출력 버퍼링을 비활성화합니다.
3. 파일 캐싱 방지:
header('Cache-Control: private');<br>header('Pragma: private');<br>header('Expires: Mon, 1997년 7월 26일 05:00:00 GMT');<br>
이러한 헤더는 브라우저가 파일을 캐시하지 않고 매번 새로 다운로드하도록 합니다.
4. 파일 출력:
<br>$bytesSend = 0;<br>if($file = fopen($filePath, 'r')) {</p> <pre class="brush:php;toolbar:false">if(isset($_SERVER['HTTP_RANGE'])) { ... (implementation for handling file chunks) } else { while(!feof($file) && !connection_aborted() && $bytesSend < $newLength) { ... (implementation for reading and outputting the file) } }
}
지연된 다운로드 대화 상자:
스크립트 실행과 다운로드 대화 상자 표시 사이에 심각한 지연이 발생할 수 있는 원인은 다음과 같습니다.
위 내용은 내 파일 다운로드가 작동하지 않는 이유는 무엇입니까? 파일 다운로드용 HTTP 헤더 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!