OVH Cloud OVH Cloud

Verification upload photos par formulai re

12 réponses
Avatar
SAM
Salutatous,

Soit un formulaire avec un champ file nommé 'photo'

Je veux vérifier que c'est bien une image qui est envoyée

$ext_img = $_FILES['photo']['type'];

Le problème :
lors de mes essais certaines photos semblent ne pas communiquer leur
type (en particulier toutes celles de mon APN)

Je pensais que ce truc vérifiait l'extension du fichier et que les
majuscules/minuscules pouvaient faire avorter le machin, mais non.
Par contre un fichier sans extension n'est pas passé non plus.

Pourquoi ça marche pô ?
Une inspection dans un soft d'images montre pour ces photos que :
- le format serait : JPEG/JFIF
- le type de l'image serait : IMG DIGITAL IXUS 860 IS JPEG


Quelle autre soluce pourrait assurer que le fichier uploadé est bien une
image ?

Avec quoi comparer $ext_img pour s'assurer que l'image est bien du JPG,
du GIF, du PNG (pour les choix de post-traitements) ?

Mes essais se font dans mon Apache local en PHP 5.2.4
Au final, le formulaire sera sur un hébergeur en PHP 4.4.3-dev

--
sm

2 réponses

1 2
Avatar
Thibault Jouan
Salut,

On 04 Oct 2009 08:08:49 GMT, SAM wrote:
Soit un formulaire avec un champ file nommé 'photo'

Je veux vérifier que c'est bien une image qui est envoyée



[…]

Quelle autre soluce pourrait assurer que le fichier uploadé est bien une
image ?



Sauf erreur de ma part Fileinfo n'a pas encore été cité
(http://fr.php.net/fileinfo), c'est une bonne alternative et
fonctionne sur beaucoup de type de fichiers. La méthode est la même
que celle proposé par Alarch.

Sinon (en plus lourd) on peut aussi appeler la commande file avec
l'option -i sur le fichier pour avoir le type mime.

--
Thibault Jouan
A13 http://a13.fr/
+33 6 28 25 39 00
Avatar
Alarch
Thibault Jouan wrote:

Salut,

On 04 Oct 2009 08:08:49 GMT, SAM wrote:
Soit un formulaire avec un champ file nommé 'photo'

Je veux vérifier que c'est bien une image qui est envoyée



[…]

Quelle autre soluce pourrait assurer que le fichier uploadé est bien une
image ?



Sauf erreur de ma part Fileinfo n'a pas encore été cité
(http://fr.php.net/fileinfo), c'est une bonne alternative et
fonctionne sur beaucoup de type de fichiers. La méthode est la même
que celle proposé par Alarch.

Sinon (en plus lourd) on peut aussi appeler la commande file avec
l'option -i sur le fichier pour avoir le type mime.




Encore une fonction que j'avais loupée... J'ai sans doute réinventé l'eau
tiède... je testerai, ça me semble mieux que les infos exim, qui n'existent
pas toujours.
1 2