Page 1 sur 1

[résolu]Filtrer un fichier uploadé qui n'est pas un fichier

Posté : 05 déc. 2011, 18:20
par laurents
Bonjour,

voici mon pb : j'ai un formulaire qui permet de sélectionner un fichier à uploader ; mais évidemment, si on sélectionne un .zip, je voudrais le rejeter. J'ai essayé ce code :
    $type_file = $_FILES['fichier']['type'];
	
	if (strstr("compressed", $type_file))
	{
	   exit("Ce n'est pas un fichier, bâtard");
	}
mais ça n'a pas marché (on ne sort pas et le script plante un peu plus loin) : comment faire ?

Re: Filtrer un fichier uploadé qui n'est pas un fichier

Posté : 05 déc. 2011, 18:28
par xTG
Il faut regarder le type mime du fichier que tu trouveras dans l'index type.

Re: Filtrer un fichier uploadé qui n'est pas un fichier

Posté : 05 déc. 2011, 18:38
par laurents
Pour récupérer le type mime, j'ai vu la fonction "mime_content_type", mais elle est "deprecated" ; donc comment faire ?

Re: Filtrer un fichier uploadé qui n'est pas un fichier

Posté : 05 déc. 2011, 19:06
par xTG
Bah tu compares juste le type mime avec ce que tu veux...
Regardes donc celui retourné par un zip et tu sauras quoi refuser.

N.B : mon premier message était totalement HS, j'avais mal lu ton code.

Re: Filtrer un fichier uploadé qui n'est pas un fichier

Posté : 06 déc. 2011, 11:53
par moogli
pour le "remplacement" de mime_content_type tu a => http://www.php.net/manual/fr/ref.fileinfo.php qui pourrait être une meilleur solution que d'utiliser le "type" de $_FILES ceci dit ça doit le faire aussi

@+

Re: Filtrer un fichier uploadé qui n'est pas un fichier

Posté : 06 déc. 2011, 12:03
par laurents
J'ai déjà tenté d'utiliser fileinfo pour obtenir le type mime, mais je me souviens que ça ne marchait pas (j'ai oublié ce qui se passait...), donc $_FILES['fichier']['type'], ça m'allait très bien...