ホームページ >バックエンド開発 >PHPチュートリアル >構成が正しいにもかかわらず、CodeIgniter のアップロードが「ファイルタイプが許可されていません」エラーで失敗するのはなぜですか?

構成が正しいにもかかわらず、CodeIgniter のアップロードが「ファイルタイプが許可されていません」エラーで失敗するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 17:05:03282ブラウズ

Why Does My CodeIgniter Upload Fail with a

CodeIgniter の「ファイルタイプが許可されていません」エラーについて

CodeIgniter で、サポートされていないタイプのファイルをアップロードしようとすると、エラー メッセージ「」が表示されることがあります。アップロードしようとしているファイルの種類は許可されていません。」この問題は、ファイルの拡張子と実際の MIME タイプが一致しないために発生します。

アップロード ライブラリの設定

アップロード ライブラリを設定するとき、許可されるファイル タイプのリストを定義します。 allowed_types 構成パラメーター。ただし、この問題は、サーバーがファイルの拡張子を MIME タイプとして解釈する場合に発生する可能性があります。

Firefox Mimetype Misinterpretation

特に、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。