Page 1 sur 1

PB Type Mime et Upload de fichiers

Publié : 21 oct. 2004, 11:12
par cktoon
Bonjour à tous,
j'utilise un formulaire php pour mettre à jour des pages en ligne. Celui-ci permet d'envoyer des fichiers (images, pdf...) qui seront affichés ou proposés en téléchargement.
Avant de faire l'upload, un bout de code php teste le type mime du fichier (histoire de pas me retrouver avec des .exe sortis d'on ne sait où...), puis, s'il le reconait, traite l'envoi du fichier.
Mon souci : Mozilla apparemment ne renvoit pas les mêmes infos :
il me renvoit application/octet-stream ou application/force-download par exemple au lieu de application/msword et application/pdf.

Code : Tout sélectionner

// le php récupère le type du fichier envoyé par le formulaire
   $format = $_FILES['doc']['type'];

// on restreint les fichiers acceptés
   if ($format!="application/pdf"&&$format!="application/msword") {
         echo "mauvais format";
   }
   else {
         // on upload
   }
Comment faites-vous pour vos upload ?
Je pourrais utiliser l'extension pour faire un test, mais bon, un .pdf veut pas dire que c'est bien un pdf ?

Publié : 21 oct. 2004, 11:15
par XF007
de toute facon tester ce qu'envoi le navigateur c'est pas plus sur que tester que l'extension.
Le meilleur moyen reste utiliser :
mime_content_type ( string filename)
http://fr.php.net/manual/fr/function.mi ... t-type.php

Publié : 21 oct. 2004, 11:45
par Invité
Merci pour le lien.
Mais je ne suis pas pluas avancée :
(PHP 4 >= 4.3.0, PHP 5)
Le type est retourné au format MIME, comme text/plain ou encore application/octet-stream.
La version 4.3 n'est pas encore dispo sur mon hébergement.
Et puis, s'il me renvoit application/octet-stream... suis toujours dans les choux avec mon PDF. :(

D'autres suggestions ?

Publié : 21 oct. 2004, 12:11
par XF007
c'est qu'un exemple, ca renvoit tout les mimes possible, enfin si t'a pas la 4.3 ....

Publié : 21 oct. 2004, 12:39
par jv2759
le probléme c'est que le naviguateur envois les type mimes qu'il connais et il le fait en récupérant l'extention du fichier. donc ce type ne veux rien dire dutout. Le mieux dans ton cas c'est de tester directement l'extention.

imagine que la personne arrive à t'envoyer un fichier en changant le mimes et en métant un mimes pdf alors qu'il t'envois un exe...