bonjour,
j'ai eu le même prôblème que toi, mais avec des fichiers audio, ie me renvoyé correctement le type mime du fichier alors que firefox me renvoyé: application/force-download.
Pour firefox, j'ai donc fait une double vérification:
1) vérifier le type mime du fichier
2) Si le type ne correspond pas, je teste l'extension du fichier.
Voici le script:
//on recupere les valeurs du formulaire
$fichiermp=$_FILES['musique']['name'];
//on recupere l'extension du fichier
$decoup=explode('.',$fichiermp);
//attention count() enregistre à partir de 0 donc la derniere valeur est enregistré dans le tableau $decoup à count()-1
$extension=$decoup[(count($decoup)-1)];
//on recupere le type mime du fichier, et on enregistre dans un tableau les type mime acceptés
$file = $_FILES['musique']['type'];
$mime_types = array('audio/mpeg','audio/m4a','audio/x-ms-wma');
//si le mime du fichier n'est pas un mime enregistré on test l'extension
if (!in_array($file, $mime_types)){
if($extension=="mp3" OR $extension=="m4a" OR $extension=="wma"){
//execution de l'upload du fichier sur le serveur
}
else{
//on dit a l'utilisateur que sont fichier n'est pas un mp3
}
}
else{
//le type mime du fichier est reconnu, on fait l'upload
}
Note :
- à partir de la version 2.0 de firefox, le probleme disparait, le type mime est envoyé correctement.
- le test sur l'extension de fichier n'est pas fiable à 100%, voici les problemes rencontrés:
- pour les images, il faut préciser toutes les extensions possibles pour un même format (exemple: jpg jpeg JPG JPEG pour les fichier jpg)
- Sous mac, un fichier n'a pas forcement d'extension (un fichier mp3 sans extension sera quand meme lu dans Itune sous mac) donc les test d'extension ne marche pas même s'il s'agit d'un fichier audio.
J'espere que tout ca pourra t'aider!
AnnJosephine