Page 1 sur 1

PHP is magic !

Publié : 03 août 2006, 08:36
par HP
lol :lol:
bon sérieusement, j'en découvre un peu tout les jours ...
et aujourd'hui, problème épineux, je voulais savoir si mes images étaient des jpg (donc connaître leur mimetype) pour ensuite lire les exifs
parce que si on tente de lire les exifs d'un png (par exemple) comme la fonction n'est pas faite pour ça, et bien, même si on a pas d'erreur d'affichage (html) ce sera recensé dans les logs du serveur (et quand on fait les choses autant bien les faire)

donc, je me casse le crâne, à chercher dans le manuel, si y a pas une fonction dédiée à la lecture des mimetype, bien sûr je trouve pas :lol:
alors après, je me suis dit, on va "réviser" un peu les fonctions que l'on connaît déjà (y en a qui auraient sorti l'artillerie lourde avec un explode sur le . avant l'extension ou que sais je :roll: ) et hop : getimagesize
getimagesize -- Retourne la taille d'une image
oui mais pas seulement :
getimagesize() retourne un tableau de 4 éléments. L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 contient le type de l'image
et voilà, je pouvais tranquillement obtenir une valeur me permettant à coup sûr de déterminer si mon image est bien une "jpg" avant de faire : exif_read_data

et encore qu'il y a : exif_imagetype
exif_imagetype() peut être utilisée pour éviter les appels aux autres fonctions exif pour les formats de fichiers qui ne sont pas supportés, ou en conjonction avec $_SERVER['HTTP_ACCEPT'] pour vérifier si l'utilisateur pourra voir cette image dans son navigateur.
mais comme, dans mes fonctions je faisais déjà appel à getimagesize précédemment ...

En tout cas, ça m'épate de voir comment ça peut être simple et/ou polyvalent certaines fois :D