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.
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.
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.
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.
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!