PHP 다운로드 파일의 잘못된 내용에 대한 해결 방법: 1. "ob_clean()" 함수를 통해 출력 버퍼 내용을 지웁니다. 2. "flush()" 함수를 통해 PHP 프로그램의 버퍼를 새로 고칩니다.
이 문서의 운영 환경: Windows 7 시스템, PHP7.1, Dell G3 컴퓨터.
php 파일 다운로드 다운로드한 파일의 왜곡되고 손상된 내용에 대한 솔루션
PHP 프로그램을 만들 때 PHP를 사용하여 파일을 다운로드해야 합니다.
그런 다음 코드를 복사하고 변경하면 됩니다.
효과도 많이 나왔어요
다운로드를 누르니 뭐 파일 다운로드가 완료된 줄 알았는데, 사진을 열어보니 파일이 손상되었다고 나오더라구요. 그래서 파일 크기를 살펴봤습니다. 1KB 정도는 너무 많은 것 같습니다.
PS에서 열어보세요. 네, 손상이 보이지만 이미지가 나올 수 있습니다.
그럼 여분의 1kb 문제인거 같은데요.
그런 다음 txt를 업로드한 다음 다운로드했습니다.
물론, 파일 앞뒤에 몇 글자가 추가로 있는 것을 발견했습니다.
그런 다음 어떻게 제거할지 고민하다가 여러 바이두, 구글, 포럼에 질문을 했습니다.
결국 1시간 넘게 검색한 끝에 드디어 해결책을 찾았습니다. [추천: "PHP 동영상 튜토리얼. " 】
코드는 다음과 같습니다
public function download() { $upload=M('upload'); $data=$upload->find($_GET['id']); if(empty($data)){ header('HTTP/1.0 404 Not Found'); header('Location: .'); }else{ $path='./public/Uploads/'.$data['savename']; header("Content-Type:".$data['type']); header('Content-Disposition: attachment; filename="'.$data['name'].'"'); header('Content-Length:'.$data['size']); ob_clean(); flush(); readfile($path); } }
참고:
ob_clean();
flush(); 이것이 핵심입니다. 이 두 기능을 사용한 후에는 그림이 정상적으로 열리고 텍스트가 깨지지 않았습니다.
위 내용은 PHP 다운로드 파일의 내용이 깨졌을 경우 대처 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!