首頁 >後端開發 >php教程 >為什麼即使我指定了允許的文件類型,CodeIgniter 仍拒絕我的 WMV 文件?

為什麼即使我指定了允許的文件類型,CodeIgniter 仍拒絕我的 WMV 文件?

Linda Hamilton
Linda Hamilton原創
2024-10-31 11:19:29937瀏覽

Why Does CodeIgniter Reject My WMV Files Even Though I Specified Allowed File Types?

CodeIgniter:解決「不允許的檔案類型」上傳問題

在此CodeIgniter 上傳場景中,使用者會遇到錯誤,指示嘗試上傳的不允許的文件類型。儘管在控制器中指定了允許的檔案類型,但某些檔案格式(例如 WMV 影片)仍無法上傳。

在上傳過程中,CodeIgniter 會嘗試確定檔案的 MIME 類型。但是,在某些情況下,Firefox 或其他瀏覽器可能會錯誤地將檔案副檔名解釋為 MIME 類型。當配置中無法識別 MIME 類型時,這可能會導致「檔案類型不允許」錯誤。

要解決此問題,我們可以透過新增以下行來檢查為上傳檔案偵測到的MIME 類型控制器的upload() 方法:

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

上傳WMV 檔案後,會顯示偵測到的MIME 類型。例如,它可能顯示 application/octet-stream,它不包含在允許的 MIME 類型配置中。

要解決此問題,請將偵測到的MIME 類型新增至mimes.php 設定檔:

<code class="php">'wmv' => array('video/x-ms-wmv', 'audio/x-ms-wmv', 'application/octet-stream')</code>

透過將正確的MIME 類型新增至設定中,CodeIgniter 將識別WMV 檔案類型並允許其上傳。

請注意,瀏覽器或電腦設定可能會影響上傳行為。例如,在某些系統上,只有 AVI 上傳可能會成功,而在其他系統上,則可以上傳所有支援的檔案。這表明問題也可能是特定於瀏覽器或系統的。

如果MIME 類型解析方法無法解決上傳問題,請參閱以下資源進行進一步故障排除:

  • CodeIgniter 論壇的貼文
  • Firefox 中的Mimetype 損壞
  • 繞過IE 的MIME 類型損壞

以上是為什麼即使我指定了允許的文件類型,CodeIgniter 仍拒絕我的 WMV 文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn