Header()를 사용하여 PHP로 강제 파일 다운로드
문제:
다양한 시도에도 불구하고 사용자 경험 PHP의 header() 함수를 사용하여 서버에서 파일 다운로드를 요청하는 데 어려움이 있습니다. 필요한 헤더가 전송되는 것을 관찰했지만 저장 대화 상자를 표시하는 데 문제가 발생합니다.
해결 방법:
파일을 강제로 다운로드하려면 헤더를 적절하게 설정해야 합니다. 다음 코드는 제기된 문제를 해결합니다.
$quoted = sprintf('"%s"', addcslashes(basename($file), '"\')); $size = filesize($file); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . $quoted); header('Content-Transfer-Encoding: binary'); header('Connection: Keep-Alive'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . $size);
이전 시도와의 주요 차이점:
검증된 브라우저:
이 솔루션은 Firefox 8.0.1, Chrome 15.0.874.121 및 Safari 5.1.1에서 작동하는 것으로 확인되었습니다.
위 내용은 `header()`를 사용하여 PHP에서 파일 다운로드를 강제하고 브라우저 표시 문제를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!