[RESOLU] Contrôle du type de fichier uploadé (mp3 et pdf)

Kiera
Invité n'ayant pas de compte PHPfrance

18 févr. 2008, 16:22

Bonjour tout le monde :)

Jusqu'à maintenant le seul système d'upload que j'avais fait concernait des images et donc j'utilisais la fonction "getimagesize" pour contrôler le type MIME des fichiers uploadés.

Mais je souhaiterais offrir la possibilité d'uploader des fichiers pdf et également mp3. Quelle est la manière la plus fiable de contrôler ces types de fichiers ?

Merci bcp d'avance.

Mammouth du PHP | 514 Messages

18 févr. 2008, 16:26

$_FILES['nom_uploade']['type'] doit te renvoyer le type mime du fichier. Il faut le comparer au type dans la liste suivante :

http://www.commentcamarche.net/systemes/mime.php3

Méfie toi, parfois, firefox renvoie un type différent d'internet explorer. J'avais remarqué ça sur les fichiers jpg.

Kiera
Invité n'ayant pas de compte PHPfrance

18 févr. 2008, 16:59

Hello mcorgnet,

En fait le type MIME fourni par le navigateur n'est pas fiable vu qu'il est (justement) fourni par le navigateur et peut être contrefait. (Du moins c'est le livre "Sécurité PHP5" qui le dit :wink:).

Donc je cherche plutôt une fonction que je pourrais utiliser (comme getimagesize avec les images) qui décode le contenu du fichier directement.

Toujours dans "Sécurité PHP5", ils proposent l'extension PECL "fileinfo" mais j'ai lu des critiques plutôt négatives sur cette extension et je me demandais si il existe d'autres moyens (qui si possible ne nécessite pas de de bibliotèque externe).

Mammouth du PHP | 514 Messages

18 févr. 2008, 17:17

Cela dit, c'est toujours mieux que sur l'extension ...

Bon courage, si tu dois vérifier le contenu de chaque type de fichier.

Pour le reste, je ne sais pas comment faire, mais ça m'intéresse si tu as une réponse.