클라이언트 측에서 사용자가 다운로드 버튼을 클릭하면 (apache) 웹 서버 (및 PHP5.4)가 매우 큰 파일을 생성합니다. 클라이언트 측에 보내야합니다. 이 (거대한) 파일을 만드는 데 시간이 걸리기 때문에 5 분 후에 브라우저 (FF)에 "연결 시간이 초과되었습니다 : 10.0.0.100의 서버가 응답하는 데 너무 오래 걸립니다"라는 메시지가 표시됩니다.브라우저 시간 초과 : example.com의 서버가 응답하는 데 너무 오래 걸림
내 PHP 페이지에서 시간 제한을 크게 설정했습니다 : set_time_limit (3600); 그러나 이것은 도움이되지 않습니다. 서버가 파일을 생성하기 전에 공백을 에코하여 브라우저에 응답이 있음을 알리려고 시도했지만 그 트릭은 파일 내용을 브라우저 자체에 전송합니다. 브라우저 자체에는 원하는 내용이 아닙니다.
내가 사용하고 헤더로,하지만 난이 아무것도하기 전에 브라우저 시간 초과가 서버로부터 전송으로 문제가되지 않습니다 생각이 문제를 해결하는 방법에 대한
$size= filesize($path);
$fname = basename ($path);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=\"".$fname."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$size);
header("Content-type: application/octet-stream");
ob_clean();
flush();
readfile($path);
exit;
어떤 아이디어? 어쩌면 자바 스크립트 방법이 있을까요?