PHP가 대용량 파일을 다운로드할 수 없는 문제에 대한 해결 방법: 먼저 "php.ini" 파일을 찾아서 연 다음 "memory_limit"를 1024M으로 설정한 다음 데이터를 클라이언트 브라우저에 출력합니다.
추천: "PHP Video Tutorial"
PHP를 사용하여 대용량 파일을 다운로드할 수 없는 문제 해결
실제 응용 프로그램에서는 PHP의 fread() 함수를 사용할 때 크기 제한이 있습니다. 서버 파일을 읽습니다. 서버 파일 크기가 일정량(128M?)을 초과하면 클라이언트 브라우저에서 파일을 다운로드할 수 없습니다. 구성 파일 php.ini의 memory_limit 제한 때문입니까?
memory_limit를 1024M으로 설정한 후 180M 파일을 테스트한 결과 문제가 남아있는 것을 확인했습니다. 코드:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); echo fread($fp, filesize($filePath)); fclose($fp);
위의 읽기 방법은 데이터를 클라이언트 브라우저에 한 번에 출력하는 것과 관련이 있습니까? 그것? 파일을 한 줄씩 읽어 보세요.
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); while(!feof($fp)) { echo fgets($fp, 4096); } fclose($fp);
아하! 더 이상 문제 없습니다.
위 내용은 PHP가 대용량 파일을 다운로드할 수 없는 경우 대처 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!