Maison  >  Article  >  développement back-end  >  Pourquoi mon téléchargement CodeIgniter échoue-t-il avec une erreur « Type de fichier non autorisé » malgré une configuration correcte ?

Pourquoi mon téléchargement CodeIgniter échoue-t-il avec une erreur « Type de fichier non autorisé » malgré une configuration correcte ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 17:05:03194parcourir

Why Does My CodeIgniter Upload Fail with a

Comprendre l'erreur « Type de fichier non autorisé » dans CodeIgniter

Dans CodeIgniter, lorsque vous tentez de télécharger un fichier avec un type non pris en charge, vous pouvez rencontrer le message d'erreur : " Le type de fichier que vous essayez de télécharger n'est pas autorisé." Ce problème est dû à une inadéquation entre l'extension du fichier et son type MIME réel.

Configuration de la bibliothèque de téléchargement

Lors de la configuration de la bibliothèque de téléchargement, vous définissez la liste des types de fichiers autorisés à l'aide de l'option Paramètre de configuration autorisé_types. Cependant, le problème peut survenir lorsque le serveur interprète l'extension du fichier comme son type MIME.

Interprétation erronée du type MIME de Firefox

En particulier, Firefox est connu pour mal interpréter les extensions de fichier et attribuer des types MIME incorrects. Par exemple, il peut interpréter l'extension .wmv d'un fichier WMV comme video/x-ms-wmv. Cela provoque l'échec du téléchargement malgré la configuration correcte dans config/mimes.php.

Résolution du problème

Pour résoudre ce problème, vous pouvez modifier la méthode _file_mime_type() de la bibliothèque de téléchargement pour afficher le type MIME réel. En ajoutant une ligne après 199 :

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

Lorsque vous téléchargez ensuite un fichier avec un type MIME incorrectement reconnu, le script mourra et affichera le type MIME correct. Vous pouvez ensuite ajouter ce type à votre configuration config/mimes.php.

Considérations supplémentaires

N'oubliez pas que les configurations du navigateur ou les paramètres du serveur peuvent avoir un impact sur le comportement de téléchargement. Par conséquent, il vaut la peine de vérifier le comportement sur différents navigateurs et environnements de serveur pour identifier les variations potentielles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn