Exif photo

Fermé
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 20 mai 2012 à 19:07
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 22 mai 2012 à 22:14
Bonjour a tous,

j ai creer un gallerie photos mais j aimerais rajouter un commentaire sur chaque photos avec la date de prise de vue

voici le code

<?php

// On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après page.php?dossier=
$doss=$_GET['dossier'];

$dir_nom = $doss; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers

while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
else {$dossier[] = $element;}
}
}

closedir($dir);





if(!empty($fichier)){
sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
echo "<h2> $dir_nom </h2>\n\n";
echo "\t\t<ul>\n";
foreach($fichier as $lien) {

$img="$dir_nom/$lien";
echo $img;

if(in_array(strtolower(end(explode('.', $img))), array('jpg', 'jpeg', 'tif', 'tiff'))) // Si fichier Jpeg ou Tiff

{
// Je lis les infos Exif
}
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
}
}
$type = "photo_couleur";

if($type=="photo_n&b" || $type=="photo_couleur") {
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_obt = $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)));
$heure = 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


}
if (($exif_tab['Width'] && $exif_tab['Height']))
$resolution = $exif_tab['Width'].'*'.$exif_tab['Height'];

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'obturation : $vit_obt<br />
Iso : $iso<br />
Prise le : $jour/$mois/$annee<br />

A : $date<br />";
echo "\t\t\t<li><a href=\"$dir_nom/big/$lien \" rel=\"prettyPhoto[gallery2]\"><img src=\"$dir_nom/$lien\"/></a></li>'\n";
}
echo "\t\t</ul>";
}
?>

ca fonctionne mais ca ne m affiche toujours la date du 1er puis du 2eme

si j ai 5 photos j ai 5 date sur la derniere photos

merci de votre aide

A voir également:

1 réponse

audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
22 mai 2012 à 22:14
personne?
0