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