Anne
Habitué
  
Hors-Ligne
Messages: 218

|
je suis en train de réaliser un script d'upload et pour éviter que n'importe qui upload n'importe quoi, j'avais pensé à tester certains types mimes des fichiers uploadés et s'ils correspondaient à ceux permit (genre gif, jpg, png, doc...) l'upload se déroulait normalement,sinon il y avait un message d'erreur (genre "erreur type mime") .
Le pb est le suivant, quand j'ai testé le script, avec firebird (mozilla), pas de pb particuliers, le script n'uploadait que les fichiers permis.
J'ai testé avec IE6, et la surprise, un fichier d'extension permise, dont j'avais testé l'upload avant (avec firebird) me sortait un message d'erreur, comme si l'extention n'était pas permise...
Ma question est la suivante, il y a t'il une différence de lecture des types mimes selon les navigateurs? Pour info, le site est hébergé chez ovh et fonctionne avec PHP Version 4.3.4.
voila le script que j'ai fais:
include_once('lib/db.php'); $HTTP_POST_VARS["ficher"] =$fichier; $HTTP_POST_VARS["ok"] =$ok; if (isset($ok)); { $ext_valide = true; $repertoire = "../www/temp/"; $destination = $repertoire.$_FILES["fichier"][name]; // Récupération du type mime $type_mime = $_FILES["fichier"]["type"];
$liste_type = array("image/gif","image/jpeg","image/jpg","application/pdf","application/msexcel", "application/mspowerpoint", "application/msword", "application/rtf", "application/zip", "text/plain", "image/png"); foreach($liste_type as $type) { if ($type_mime != $type) { $ext_valide = false; } else { $ext_valide = true; if (move_uploaded_file($_FILES["fichier"][tmp_name], $destination)) { echo "L'upload du fichier c'est bien passée.<br/>"; } else { print "ERREUR: Impossible de déplacer le fichier: ". $_FILES["fichier"][tmp_name] ." vers la partie Accords du site du CE, vous n'avez peut-être pas remplit le champ \"envoyer le fichier\"<br /> "; } break; } } if ($ext_valide == false) { echo "erreur type mime"; } } echo "<br /><a href=\"accords.php\">Retourner à la page Accords</a> ";
|