Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2011, 09h46   #1
Invité régulier
 
Aurélien R
Inscription : avril 2010
Messages : 18
Détails du profil
Informations personnelles :
Nom : Aurélien R

Informations forums :
Inscription : avril 2010
Messages : 18
Points : 9
Points : 9
Par défaut Soucis affichage des élément d'un dossier

Bonjours,

J'ai un soucis avec un petit bout de code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
    $dossier = './includes/photo/pleinaire/';
    $cpt = count(glob($dossier."/*.*"));
    $dir= opendir($dossier);
 
    echo "<div id='dephoto'><p>";
 
    while($file= readdir($dir)){
        $tof=$dossier.$file;
        echo "<a class='pa' href='$tof'><img alt='tof' src='$tof' /></a>";
    }
    echo "</p></div>";
Cela marche parfaitement, mais malheureusement, l'affichage fait défaut. En fait ce script permet d'afficher les photo qui sont dans un dossier, j'ai bien mes photos seulement j'ai deux champs <img> en plus:

src='./includes/photo/pleinaire/.' et
src='./includes/photo/pleinaire/..'

(au lieu de src='./includes/photo/pleinaire/photo1.jpg')

$cpt me donne bien un nombre correspondant au nombre d'élément dans le dossier mais à l'affichage j'ai 2 élément en plus ( les . et ..)

je ne sais absolument pas d'où viens le problème :/

Merci
Aurélien.R est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h01   #2
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Bonjour,

readdir renvoie toujours "." et "..". Fait un test sur ton résultat : si la chaine est égale à "." ou "..", tu n'affiches pas l'image.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h07   #3
Invité régulier
 
Aurélien R
Inscription : avril 2010
Messages : 18
Détails du profil
Informations personnelles :
Nom : Aurélien R

Informations forums :
Inscription : avril 2010
Messages : 18
Points : 9
Points : 9
ok merci.

Et je fait comment pour dire de ne pas afficher? car le while gène un peu pour ça
Aurélien.R est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h38   #4
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Citation:
Envoyé par Aurélien.R Voir le message
ok merci.

Et je fait comment pour dire de ne pas afficher? car le while gène un peu pour ça
Si chaine="." ou "..", on n'effectue pas le "echo" :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
$dossier = './includes/photo/pleinaire/';
$cpt = count(glob($dossier."/*.*"));
$dir= opendir($dossier);
 
echo "<div id='dephoto'><p>";
 
while($file= readdir($dir)){
     $tof=$dossier.$file;
     if($file!="." && $file!="..")
          echo "<a class='pa' href='$tof'><img alt='tof' src='$tof' /></a>";
}
echo "</p></div>";
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h41   #5
Invité régulier
 
Aurélien R
Inscription : avril 2010
Messages : 18
Détails du profil
Informations personnelles :
Nom : Aurélien R

Informations forums :
Inscription : avril 2010
Messages : 18
Points : 9
Points : 9
Merci
Aurélien.R est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h43   #6
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Citation:
Envoyé par Aurélien.R Voir le message
Merci
De rien . Oublie pas le : .
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h48   #7
Membre régulier
 
Avatar de Pierrot2Mars
 
Homme Pierrot
Développeur Web
Inscription : novembre 2010
Messages : 79
Détails du profil
Informations personnelles :
Nom : Homme Pierrot
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2010
Messages : 79
Points : 96
Points : 96
Salut,

Tu peux également tester si $tof est une image, genre :
Code :
1
2
3
4
5
6
if($file!='.' and $file!='..' and is_file($tof)) {
   list($w_tof, $h_tof) = getimagesize($tof)
   if($w_tof!=0 and $h_tof!=0) {
      echo "<a class='pa' href='$tof'><img alt='tof' src='$tof' /></a>";
   }
}
Pierrot2Mars est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h50   #8
Invité régulier
 
Aurélien R
Inscription : avril 2010
Messages : 18
Détails du profil
Informations personnelles :
Nom : Aurélien R

Informations forums :
Inscription : avril 2010
Messages : 18
Points : 9
Points : 9
merci, mais ce sera obligatoirement des images, donc juste le fait de rien afficher si c'est . et .. suffit
Aurélien.R est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h58.


 
 
 
 
Partenaires

Hébergement Web