저는 수년간 내 웹 사이트에서 강제로 다운로드 한 적이있는 PHP 스크립트가 있습니다. 그러나 지난 한 달 간 언젠가 작동이 멈추고 파일을 찾을 수없는 오류가 발생합니다. 이상한 점은 Firefox에서 오류 페이지의 소스를 보면 다운로드하려는 파일입니다. 그리고 거기에서 파일> 저장을하면 올바른 파일을 얻을 수 있습니다. 그래서 나는 스크립트가 서버에서 파일을 찾지 못하는 것이 문제가 아니라는 것을 알고 있습니다.강제 다운로드가 작동을 멈췄습니다.
헤더 설정 방법에 문제가 있습니까?
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: Binary');
header('Content-length: '.filesize($file_url));
header('Content-disposition: attachment; filename="'.basename($file_url).'"');
readfile($file_url);
무엇이'$ file_url'의 값입니까? – Artefacto
다운로드 할 파일의 경로입니다. 내가 게시 한 것은 다운로드를 시작하는 데 사용 된 코드입니다. 첫 번째 생각은 경로가 잘못되었다는 것을 알지만보기 소스가 아니며 올바른 파일을 저장하지 않습니다. – unholysampler