>백엔드 개발 >PHP 문제 >PHP로 다운로드한 Excel의 잘못된 문제를 해결하는 방법

PHP로 다운로드한 Excel의 잘못된 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-08-06 10:34:452292검색

PHP에서 다운로드한 잘못된 Excel에 대한 해결 방법: 1. 다운로드 프로세스 중에 파일이 아닌 정보를 출력하지 마세요. 2. 출력된 Excel 형식과 접미사 이름을 일관되게 저장하세요. 3. "ob_clean()" 함수를 사용하여 완충기.

PHP로 다운로드한 Excel의 잘못된 문제를 해결하는 방법

권장: "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.