Probleme php

Résolu/Fermé
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 11 juin 2012 à 22:58
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 12 juin 2012 à 17:56
Bonjour,

j ai une page php qui permet de lire le contenu de mon dossier et d afficher les images et les infos exif

Par contre il y a un probleme lors de l affichage

Je recupere le contenu de l image 1 :
date : 12/05/12
marque : olympus

Image 2

date : 12/05/12 13/05/12
marque : olympus nikon

Le probleme est que la 1er date ne s efface pas il mets les resultat a la suite de l autre

Ci joint le code

<?php
include('../config.php');
?>


<?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)
$marque2 = explode($marque);
// 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); // Je lis la valeur courante de date2
$minute = next($heure2); // Puis la suivante (c'est un tableau)
$seconde = next($heure2); // Puis la suivante

// 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 "<span style='font-weight: bold;'>Appareil :</span><br />

Marque : $marque2<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 : $heure:$minute:$seconde<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>";
}
?>


merci de votre aide

A voir également:

1 réponse

Utilisateur anonyme
11 juin 2012 à 23:17
Bonjour

Normal que les infos s'accumulent, tu les concatènes toutes :
$exif_tab[$name] .= $value;

Il ne faut pas mettre de point :
$exif_tab[$name] = $value;
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
12 juin 2012 à 11:56
...
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
12 juin 2012 à 17:56
merci de ta reponse Le père effectivement il faut enlever le point et tous est ok

Merci beaucoup
0