PHP에서 다운로드한 잘못된 Excel에 대한 해결 방법: 1. 다운로드 프로세스 중에 파일이 아닌 정보를 출력하지 마세요. 2. 출력된 Excel 형식과 접미사 이름을 일관되게 저장하세요. 3. "ob_clean()" 함수를 사용하여 완충기.
권장: "PHP Video Tutorial"
코드 작성 시 PHP를 사용하여 내가 업로드한 Excel을 다운로드할 때 이 오류가 발생했습니다.
강제로 열면 잘못된 문자가 나타납니다.
검색 후 두 가지 설명이 있습니다.
1. 다운로드 과정에서 에코 로그 정보 등 파일 이외의 정보를 출력하지 않습니다. 그렇지 않으면 다운로드한 파일을 열 수 없어 형식 오류가 발생하거나 파일이 손상됩니다.
2. 출력된 Excel 형식은 저장된 접미사 이름과 일치해야 합니다. 그렇지 않으면 형식 오류가 발생하거나 파일이 손상됩니다.
그래서 다운로드를 클릭한 a 태그의 위치를 변경하고, 엑셀 접미사 이름을 확인해 보았는데 안되더라구요.
나중에 검색해 보니 BOM 헤더에 문제가 있을 수도 있다는 걸 알게 됐는데, 잘못된 파일을 열면 앞에 "0xEF 0xBB 0xBF" 세 글자가 나오기 때문입니다. 그리고 PHP는 BOM 헤더를 인식할 수 없습니다.
BOM 헤더 설명: utf-8로 인코딩된 파일에서 BOM은 파일 헤더에 있으며 3바이트를 차지하여 파일이 utf-8 인코딩에 속함을 나타냅니다. 이는 일반적으로 숨겨진 문자의 문자열입니다. 많은 소프트웨어는 BOM 헤더를 인식하고 무시할 수 있지만 PHP는 그렇지 않습니다.
따라서 editplus, ultraedit 또는 WINHEX 및 기타 소프트웨어를 사용하여 업로드해야 하는 파일에서 BOM 헤더를 제거한 다음 업로드할 수 있습니다. 다운로드한 경우 BOM 헤더를 제거하고 다시 엽니다.
또한 readfile 및 fread, 즉 출력 앞에 코드 ob_clean()을 추가하여 버퍼를 지울 수도 있습니다.
위 내용은 PHP로 다운로드한 Excel의 잘못된 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!