Exif en php

Fermé
renaudp10 - 23 oct. 2008 à 22:04
gorgibus Messages postés 15 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008 - 25 oct. 2008 à 13:05
Bonjour,

Je me fais une Galerie Photo perso et j'aimerais que lorsque j'affiche une photo je puisse aussi afficher le modele de la caméra qui l'a pris ainsi que quelques spécifications comme la distance focale, la grandexu de l'image etc. et tout ca en php je sais que ca ce fait mais comment

Merci

Philippe
A voir également:

3 réponses

exif_read_data ne marche pas et je n'ai pas acces au fichier php.ini pour qu'il marche

j'ai pu trouver pas mal d'info mais il me manque toujours comment trouver le model de la caméra je sais que ca ce fait mais comment?
0
gorgibus Messages postés 15 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008 7
23 oct. 2008 à 23:03
Google ==> "Lecture exif en php" premier lien : http://www.siteduzero.com/tutoriel-3-31523-exif-lire-les-infos-d-une-image.html

Ça te va ?
-1
gorgibus Messages postés 15 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008 7
25 oct. 2008 à 13:05
Tu utilise quoi comme serveur ? Un a toi ?

Je t'ai mis un exemple ici http://gorgibus69.free.fr/test/Nouveau%20document%20texte.php
Je n'ai pas eu besoin de toucher au fichier php.ini pour que ça marche heureusement vu que je n'y ai pas accès.

Voici le code utilisé qui n'est que l'adaptation du tutoriel précédent vérifie si cela marche chez toi.

Pour le model c'est cette ligne $modele = $exif_tab['Model'];

<html>
<?php

$img = "http://gorgibus69.free.fr/test/DSC_0164.jpg";
if(in_array(strtolower(end(explode('.', $img))), array('jpg', 'jpeg', 'tif', 'tiff'))) // Si fichier Jpeg ou Tiff
 
{
	if($exif = exif_read_data($img, EXIF, true)) // Si le fichier $img contient des infos Exif
	{
		// Alors je lis ces informations
		foreach ($exif as $key => $section) // On parcourt la première partie du tableau multidimensionnel
		{
			foreach ($section as $name => $value) // On parcourt la seconde partie
			{
				$exif_tab[$name] .= $value; // Récupération des valeurs dans le tableau $exif_tab
				if($exif_tab['FocalLength']) // Si les données de la distance focale existent
				{
					$focale = round($exif_tab['FocalLength'], 0); // j'arrondis la valeur
					$focale = $focale." mm"; // Je rajoute l'unité millimètre
				}
				if($exif_tab['Make']) // Marque de l'appareil
				$marque = $exif_tab['Make'];
				if($exif_tab['Model'])// Modèle de l'appareil
				$modele = $exif_tab['Model'];
				if($exif_tab['ExposureTime'])// Vitesse d'obturation
				$vit_opt = $exif_tab['ExposureTime'];
				if($exif_tab['ISOSpeedRatings']) // Valeur iso
				$iso = $exif_tab['ISOSpeedRatings'];
				if($exif_tab['DateTimeOriginal'])
				$date = $exif_tab['DateTimeOriginal']; // Date de la prise de vue (heure de l'appareil)
				// La date est d'un format spécial, on va donc la rendre lisible
				$date2 = explode(":", current(explode(" ", $date)));
				$heure2 = explode(":", end(explode(" ", $date))); // Utile dans le cas où vous souhaitez extraire l'heure
				$annee = current($date2); // Je lis la valeur courante de date2
				$mois = next($date2); // Puis la suivante (c'est un tableau)
				$jour = next($date2); // Puis la suivante
				$heure= current($heure2);
				$min  = next($heure2);
				$sec  = next($heure2);
				// Pour obtenir l'heure, faire de même avec $heure
				if (($exif_tab['Width'] && $exif_tab['Height']))
				$resolution = $exif_tab['Width'].'*'.$exif_tab['Height'];
				


			}
		}

	}

}
echo '<img src="'.$img.'" /><br />';
echo "<span style='font-weight: bold;'>Appareil :</span><br />
Marque : $marque<br />
Modèle : $modele<br />
<span style='font-weight: bold;'>Caractéristiques :</span><br /> 
Focale : $focal<br />
Vitesse d'opturation : $vit_opt<br />
Iso : $iso<br />
Prise le : $jour/$mois/$annee<br />
A : $heure:$min:$sec<br />";


?>
</html>
-1