Maison > Article > développement back-end > Pourquoi CodeIgniter rejette-t-il mes fichiers WMV même si j'ai spécifié les types de fichiers autorisés ?
CodeIgniter : résolution du problème de téléchargement « Type de fichier non autorisé »
Dans ce scénario de téléchargement CodeIgniter, les utilisateurs sont confrontés à une erreur indiquant que la tentative de téléchargement le type de fichier n’est pas autorisé. Malgré la spécification des types de fichiers autorisés dans le contrôleur, certains formats de fichiers, tels que les vidéos WMV, ne parviennent pas à être téléchargés.
Pendant le processus de téléchargement, CodeIgniter tente de déterminer le type MIME du fichier. Cependant, dans certains cas, Firefox ou d'autres navigateurs peuvent interpréter de manière incorrecte l'extension de fichier comme étant de type MIME. Cela peut conduire à l'erreur « type de fichier non autorisé » lorsque le type MIME n'est pas reconnu dans la configuration.
Pour résoudre ce problème, nous pouvons inspecter le type MIME détecté pour le fichier téléchargé en ajoutant la ligne suivante à la méthode upload() du contrôleur :
<code class="php">$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();</code>
Après avoir téléchargé un fichier WMV, il affichera le type MIME détecté. Par exemple, il peut afficher application/octet-stream, qui n'est pas inclus dans la configuration des types MIME autorisés.
Pour résoudre le problème, ajoutez le type MIME détecté au fichier de configuration mimes.php :
<code class="php">'wmv' => array('video/x-ms-wmv', 'audio/x-ms-wmv', 'application/octet-stream')</code>
En ajoutant le type MIME correct à la configuration, CodeIgniter reconnaîtra le type de fichier WMV et autorisera son téléchargement.
Notez que la configuration du navigateur ou de la machine peut avoir un impact sur le comportement de téléchargement. Par exemple, sur certains systèmes, seuls les téléchargements AVI peuvent réussir, tandis que sur d'autres, tous les fichiers pris en charge peuvent être téléchargés. Cela suggère que le problème peut également être spécifique au navigateur ou au système.
Si l'approche de résolution de type MIME ne résout pas le problème de téléchargement, reportez-vous aux ressources suivantes pour un dépannage plus approfondi :
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!