Exif en php

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
Configuration: Windows XP
Firefox 3.0.3

3 réponses

  1. 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
    1. 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
      1. 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