>  기사  >  백엔드 개발  >  올바른 구성에도 불구하고 내 CodeIgniter 업로드가 \"파일 형식이 허용되지 않음\" 오류와 함께 실패하는 이유는 무엇입니까?

올바른 구성에도 불구하고 내 CodeIgniter 업로드가 \"파일 형식이 허용되지 않음\" 오류와 함께 실패하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-30 17:05:03194검색

Why Does My CodeIgniter Upload Fail with a

CodeIgniter의 "파일 형식이 허용되지 않음" 오류 이해

CodeIgniter에서 지원되지 않는 형식의 파일을 업로드하려고 하면 " 업로드하려는 파일 형식은 허용되지 않습니다." 이 문제는 파일 확장자와 실제 MIME 유형이 일치하지 않기 때문에 발생합니다.

업로드 라이브러리 구성

업로드 라이브러리를 설정할 때 다음을 사용하여 허용되는 파일 유형 목록을 정의합니다. allowed_types 구성 매개변수입니다. 하지만 서버가 파일 확장자를 MIME 유형으로 해석하면 문제가 발생할 수 있습니다.

Firefox Mimetype 오해

특히 Firefox는 파일 확장자를 잘못 해석하여 잘못된 MIME 유형을 할당하는 것으로 알려져 있습니다. 예를 들어 WMV 파일의 .wmv 확장자를 video/x-ms-wmv로 해석할 수 있습니다. 이로 인해 config/mimes.php의 올바른 구성에도 불구하고 업로드가 실패하게 됩니다.

문제 해결

이 문제를 해결하려면 업로드 라이브러리의 _file_mime_type() 메서드를 수정하여 실제 MIME 유형. 199 뒤에 줄을 추가하면:

<code class="php">$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();</code>

잘못 인식된 MIME 유형이 포함된 파일을 업로드하면 스크립트가 종료되고 올바른 MIME 유형이 출력됩니다. 그런 다음 이 유형을 config/mimes.php 구성에 추가할 수 있습니다.

추가 고려 사항

브라우저 구성이나 서버 설정이 업로드 동작에 영향을 미칠 수 있다는 점을 기억하세요. 따라서 다양한 브라우저와 서버 환경의 동작을 확인하여 잠재적인 변형을 식별하는 것이 좋습니다.

위 내용은 올바른 구성에도 불구하고 내 CodeIgniter 업로드가 \"파일 형식이 허용되지 않음\" 오류와 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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