ホームページ >バックエンド開発 >PHPチュートリアル >許可されたファイル タイプを指定したにもかかわらず、CodeIgniter が WMV ファイルを拒否するのはなぜですか?
CodeIgniter: 「ファイルタイプが許可されていない」アップロードの問題を解決する
この CodeIgniter アップロード シナリオでは、ユーザーは、アップロードしようとしたことを示すエラーに直面します。ファイルタイプは許可されていません。コントローラーで許可されるファイル タイプを指定しているにもかかわらず、WMV ビデオなどの特定のファイル形式はアップロードに失敗します。
アップロード プロセス中に、CodeIgniter はファイルの MIME タイプを判断しようとします。ただし、場合によっては、Firefox またはその他のブラウザがファイル拡張子を MIME タイプとして誤って解釈する可能性があります。これにより、MIME タイプが構成で認識されない場合に「ファイルタイプが許可されていません」エラーが発生する可能性があります。
この問題を解決するには、次の行をコントローラーの Upload() メソッド:
<code class="php">$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();</code>
WMV ファイルをアップロードすると、検出された MIME タイプが表示されます。たとえば、許可されている MIME タイプの設定に含まれていない application/octet-stream が表示される場合があります。
問題を解決するには、検出された MIME タイプを mimes.php 設定ファイルに追加します。
<code class="php">'wmv' => array('video/x-ms-wmv', 'audio/x-ms-wmv', 'application/octet-stream')</code>
設定に正しい MIME タイプを追加すると、CodeIgniter は WMV ファイル タイプを認識し、そのファイルのタイプを許可します。 Upload.
ブラウザまたはマシンの構成がアップロード動作に影響を与える可能性があることに注意してください。たとえば、特定のシステムでは AVI アップロードのみが成功する可能性がありますが、他のシステムではサポートされているすべてのファイルをアップロードできます。これは、問題がブラウザまたはシステム固有である可能性があることを示唆しています。
MIME タイプ解決アプローチでアップロードの問題が解決しない場合は、次のリソースを参照してさらなるトラブルシューティングを行ってください:
以上が許可されたファイル タイプを指定したにもかかわらず、CodeIgniter が WMV ファイルを拒否するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。