Version complète: sur le forum Webmaster Hub : afficher les photos du repertoire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
vero
bonjour,



quelqu un peut il me donner les lignes pour afficher les photos d'un repertoire "test" par exemple



cordialement
Julien L.
CODE
<?PHP
if ($handle = opendir('test')) {
  while (false !== ($x = readdir($handle))) {
      if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) {
           $picsa[]=$x;
      }
   }
   closedir($handle);
}

$pics = array_reverse($picsa);

if(count($pics)>0){
echo('<table id=\'pics\'><tr><td class=\'title\'>&raquo; pictures</td></tr><tr>');
$tr=0;
       for($i=0; $i<count($pics); $i++){
             echo('<td><a href=\'pics/'.$pics[$i].'\'><img src=\'pics/'.$pics[$i].'\' alt=\''.$pic[$i].'\' title=\''.$pic[$i].'\' /></a></td>');
             $tr++;
             if($tr > 5){ echo('</tr><tr>'); $tr=0; }
        }
        echo('</tr></table>');
}
?>


Voila !

P.S: attention, ce code affiche normalement des vignettes (stockées dans un autre répertoire), ici les images apparaitront taille réelle !
vero
merci pour le code voila ce que ca donne si je le met dans la page


CODE
if ($handle = opendir('photos_galerie/veronique')) { while (false !== ($x = readdir($handle))) { if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) { $picsa[]=$x; } } closedir($handle); } $pics = array_reverse($picsa); if(count($pics)>0){ echo('» pictures
'); $tr=0; for($i=0; $i'); $tr++; if($tr > 5){ echo('
'); $tr=0; } } echo('
'); }


le texte du script s'affiche et au milieu une image qu'il ne trouve pas peut etre faut il personnaliser quelque chose....

cordialement
Julien L.
Votre hébèrgement supporte-t-il PHP ?

Les balises <?PHP (début du script) ?> (fin du script) sont-elles bien présentes ?

Le fichier est-il bien nommé 'nimportequoi.php' ?

Auriez-vous une adresse pour voir le résultat ?


EDIT: Peut-être qu'ainsi ! Le répertoire était "hardcoded" dans le code d'affichage.
CODE
<?PHP
$repertoire='photos_galerie/veronique';

if ($handle = opendir($repertoire)) {
 while (false !== ($x = readdir($handle))) {
     if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) {
          $picsa[]=$x;
     }
  }
  closedir($handle);
}

$pics = array_reverse($picsa);

if(count($pics)>0){
echo('<table id=\'pics\'><tr><td class=\'title\'>&raquo; pictures</td></tr><tr>');
$tr=0;
      for($i=0; $i<count($pics); $i++){
            echo('<td><a href=\''.$repertoire.'/'.$pics[$i].'\'><img src=\''.$repertoire.'/'.$pics[$i].'\' alt=\''.$pic[$i].'\' title=\''.$pic[$i].'\' /></a></td>');
            $tr++;
            if($tr > 5){ echo('</tr><tr>'); $tr=0; }
       }
       echo('</tr></table>');
}
?>
vero
Bravo ca marche bien si je n'abuse pas est il possible de mettre un lien sous la photo avec son nom et la possibilité de supprimer la photo du repertoire.


cordialement
Julien L.
CODE
<?PHP
$repertoire='photos_galerie/veronique';

if ($handle = opendir($repertoire)) {
 while (false !== ($x = readdir($handle))) {
     if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) {
          $picsa[]=$x;
     }
  }
  closedir($handle);
}

$pics = array_reverse($picsa);

if(count($pics)>0){
echo('<table id=\'pics\'><tr><td class=\'title\'>&raquo; pictures</td></tr><tr>');
$tr=0;
      for($i=0; $i<count($pics); $i++){
            echo('<td><a href=\''.$repertoire.'/'.$pics[$i].'\'><img src=\''.$repertoire.'/'.$pics[$i].'\' alt=\''.$pic[$i].'\' title=\''.$pic[$i].'\' />[b]<br />'.substr($pics[$i],0,strlen($pics[$i])-4).'</a>[/b]</td>');
            $tr++;
            if($tr > 5){ echo('</tr><tr>'); $tr=0; }
       }
       echo('</tr></table>');
}
?>


Il vaudrait mieu repenser complètement l'architecture de l'affichage !
J'ignore comment supprimer un fichier (sans passer par exec()) !
TheRec
Pour supprimer un fichier depuis PHP on peu effectivement utiliser exec, mais cela implique que cette fonction soit activée... mais il est préférable d'utiliser la fonctione unlink ... Il faut bien entendu lui passer un nom de fichier qui existe et sur lequel PHP à les droit de suppression.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.