CodeIgniter에서 지원되지 않는 형식의 파일을 업로드하려고 하면 " 업로드하려는 파일 형식은 허용되지 않습니다." 이 문제는 파일 확장자와 실제 MIME 유형이 일치하지 않기 때문에 발생합니다.
업로드 라이브러리를 설정할 때 다음을 사용하여 허용되는 파일 유형 목록을 정의합니다. allowed_types 구성 매개변수입니다. 하지만 서버가 파일 확장자를 MIME 유형으로 해석하면 문제가 발생할 수 있습니다.
특히 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!