geek space web solutions

Récupérer les informations EXIF d'une image en PHP

Jeudi, 21 Janvier 2010 17:31
Index de l'article
Récupérer les informations EXIF d'une image en PHP
Récupérer la résolution dpi d'une image
Toutes les pages
php exif 300 dpi logo 60px
Il est parfois utile lorsqu'on développe un site qui gère des images d'avoir plus d'informations sur les images qu'on manipule. La bibliothèque GD est connue et permet de générer des images... Avec l'extension exif, php peut récupérer les informations stockées dans les en-têtes des images JPEG et TIFF. Nous allons étudier ici la manière d'activer cette extension php.

L'extension exif permet de lire les métadonnées générées par les appareils numériques.

Les fonctions exif ne nécessitent pas la bibliothèque GD.


Activer php_exif dans wamp Tout d'abord, abordons le côté serveur ! Il est évident que pour activer l'extension exif il faut avoir la main sur le serveur... J'ai fait mes essais en local avec wamp. Faites un premier test en vous rendant dans PHP > Extensions PHP et activez php_exif (voir image)

Si vous rencontrez les messages d'erreur suivants, vous devez activer l'extension php_exif :
Fatal error: Call to undefined function exif_read_data()
Ou en utilisant getID3 : http://www.getid3.org/
EXIF parsing only available when php_exif.dll enabled

Très important ! N'oubliez pas de redémarrer wamp pour que l'activation des nouveaux services soient pris en compte...

Ma version de php pour faire le test est la 5.2.9
Ma version de php

Nous allons tout particulièrement nous intéresser à la fonction exif_read_data (PHP 4 >= 4.2.0, PHP 5). Cette fonction permet de lire les en-têtes EXIF dans les images JPEG ou TIFF. Voici le code que j'utilise :
<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "Aucun en-tête de donnés n'a été trouvé.<br />\n"
  : "L'image contient des en-têtes<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
?>

Si même en ayant activé l'extension php_exif vous obtenez toujours un message d'erreur concernant la fonction exif_read_data, vérifiez que l'extension php_mbstring est bien activée également, normalement elle est activée par défaut dans wamp...

Modifier php.ini si besoin Si ça ne fonctionne toujours pas, ouvrez le fichier php.ini comme indiqué sur l'image ci-contre et recherchez l'extension php_exif... Normalement aux alentours de la ligne 566 vous devriez trouver l'activation du fichier dll concerné : extension=php_exif.dll . Déplacez la ligne conernant l'extension php_mbstring de manière à la placer devant la ligne concernant php_exif de la manière suivante :

wamp php.ini


 

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Sections

Éditeur de fichier XML en ligne


"XML Manager" est un éditeur sécurisé permettant d'administrer en ligne un fichier XML.
Il fournit des fonctions avancées de recadrage et de redimensionnement des images...

Sondages

Pensez-vous que le HTML5 puisse complètement remplacer Flash ?
 
Seriez-vous intéressé par un éditeur d'XML en ligne ?
 

Paypal

paypal

Code du plugin Joomla AutoSEO 1.2 par www.geek-space.fr