Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Muat Naik CodeIgniter Saya Gagal dengan Ralat \'Jenis Fail Tidak Dibenarkan\' Walaupun Konfigurasi Betul?

Mengapa Muat Naik CodeIgniter Saya Gagal dengan Ralat \'Jenis Fail Tidak Dibenarkan\' Walaupun Konfigurasi Betul?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 17:05:03282semak imbas

Why Does My CodeIgniter Upload Fail with a

Memahami Ralat "Jenis Fail Tidak Dibenarkan" dalam CodeIgniter

Dalam CodeIgniter, apabila cuba memuat naik fail dengan jenis yang tidak disokong, anda mungkin menghadapi mesej ralat, " Jenis fail yang anda cuba muat naik tidak dibenarkan." Isu ini timbul disebabkan oleh ketidakpadanan antara sambungan fail dan jenis MIME sebenarnya.

Mengkonfigurasi Pustaka Muat Naik

Apabila menyediakan pustaka muat naik, anda mentakrifkan senarai jenis fail yang dibenarkan menggunakan parameter konfigurasi allow_types. Walau bagaimanapun, masalah boleh berlaku apabila pelayan mentafsir sambungan fail sebagai jenis MIMEnya.

Salah Tafsiran Jenis Mime Firefox

Secara khususnya, Firefox diketahui menyalahtafsir sambungan fail dan menetapkan jenis MIME yang salah. Sebagai contoh, ia mungkin mentafsir sambungan .wmv fail WMV sebagai video/x-ms-wmv. Ini menyebabkan muat naik gagal walaupun konfigurasi yang betul dalam config/mimes.php.

Menyelesaikan Isu

Untuk menangani isu ini, anda boleh mengubah suai kaedah _file_mime_type() pustaka Muat naik untuk mengeluarkan jenis MIME sebenar. Dengan menambah baris selepas 199:

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

Apabila anda kemudiannya memuat naik fail dengan jenis MIME yang tidak dikenali, skrip akan mati dan mengeluarkan jenis MIME yang betul. Anda kemudiannya boleh menambah jenis ini pada konfigurasi config/mimes.php anda.

Pertimbangan Tambahan

Ingat bahawa konfigurasi penyemak imbas atau tetapan pelayan boleh memberi kesan kepada tingkah laku muat naik. Oleh itu, adalah wajar menyemak gelagat pada penyemak imbas dan persekitaran pelayan yang berbeza untuk mengenal pasti variasi yang berpotensi.

Atas ialah kandungan terperinci Mengapa Muat Naik CodeIgniter Saya Gagal dengan Ralat \'Jenis Fail Tidak Dibenarkan\' Walaupun Konfigurasi Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn