» Galerie photos

Rédigé par : Guillaume
Le : 17/03/2003 à 20:30
Hits : 10490
TéléchargerImprimer
Voici une galerie d'images / photos n'utilisant pas de base de donnée.
Une configuration simple, affiche directement les images contenues dans votre répertoire, possibilité d'afficher la liste complète et navigation facile.

article_2.php
<?php
// ------------------------------------------------------------------------- //
// Galerie photos                                                            //
// ------------------------------------------------------------------------- //
// Le 17/03/2003 à 20h30 par Guillaume JIGUEL (guillaume@gphp.net)           //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,2.php                                        //
// ------------------------------------------------------------------------- //

// Configuration 
$dossier "images/"// Nom du dossier où il faut lister la galerie 
$titre "Galerie GPHP"// Titre de la galerie 
$width = array("200","800"); // Taille de l'image en largeur: réduite -> agrandie 
$height = array("150","600"); // Taille de l'image en hauteur: réduite -> agrandie 

// Ouverture du dossier 
$ouverture opendir($dossier); 

while (
$fichiers readdir($ouverture)){ 
  
// On selectionne seulement les fichiers 
  
if (is_file($dossier.$fichiers) && $fichiers != "/"){ 
  
// On stocke les résultats dans des array(), 1 pour la liste, l'autre pour l'affichage 
  
$tab_liste[] = $compteur."/".$fichiers
  
$tab[] = $dossier.$fichiers
  
$compteur++; 
  } 


// On affiche le titre 
   
echo "<a style=\"font:bold 30px Arial\">$titre</a><br />"

// Si la requête commence par "liste", on affiche la liste 
if( eregi('^liste'$_SERVER['QUERY_STRING'])) { 
   echo 
"<b><a href=\"galerie.php\">Masquer la Liste</a> :</b>\n"
   echo 
"(".$compteur." images)<br />\n"
   
// On liste les fichiers 
   
foreach ($tab_liste as $liste){ 
       
// On décompose la chaine et supprime les extentions 
       
$liste explode ("/"$liste); 
       
$liste str_replace(".gif",""$liste); 
       
$liste str_replace(".jpg",""$liste); 
       
// On affiche le lien 
       
echo "<a href=\"galerie.php?liste&img=$liste[0]\">".$liste[1]."</a><br>"
   } 
}else{ 
   echo 
"<b><a href=\"?liste\">Liste des images</a> :</b>\n"
   echo 
"(".$compteur." images)<br />\n"


// Définition de Precedente / Suivante 
   
$max $compteur-1
   
$min $compteur-$max

if (
$img >= && $img <= $max){ 
   if (
$img==$min$precedente 0
   else 
$precedente $img-1
   if (
$img==$max$suivante 0
   else 
$suivante $img+1
}else{ 
   
$img 0
   
$precedente $max
   
$suivante $img+1


// Affichage de l'image + ouverture popup contenant l'image (taille à configurer) 
   
echo "<br />"
   echo 
"<a href=\"#\" onclick=\"window.open('".$tab[$img]."', 'Top', 'toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=$width[1], height=$height[1]')\">"
   echo 
"<img src=\"".$tab[$img]."\" border=\"0\" width=\"$width[0]\" height=\"$height[0]\">"
   echo 
"</a>"
   echo 
"<br />"

// Si la liste est présente, on affiche les liens en conséquence 
if( eregi('^liste'$_SERVER['QUERY_STRING'])) { 
   echo 
"<a href=\"galerie.php?liste&img=$precedente\">Précedente</a>"
   echo 
"&nbsp;|&nbsp;"
   echo 
"<a href=\"galerie.php?liste&img=$suivante\">Suivante</a>"
}else{ 
   echo 
"<a href=\"galerie.php?img=$precedente\">Précedente</a>"
   echo 
"&nbsp;|&nbsp;"
   echo 
"<a href=\"galerie.php?img=$suivante\">Suivante</a>"

// Fermeture du dossier 
closedir($ouverture); 
?> 

» Commentaires

Par `SpeeD` le 17/03/2003 à 21:49
Yopi Tnt franchement chaperu pour ton code il est optimisé un max et comme je te le disait le mien il aurait fait cent trente douze mille lignes sans commentaires :)

bonne continuation et j'espere te vois + longtemps la prochaine fois ;)

Par abar le 19/03/2003 à 00:12
Bien, efficace... le nécessaire pour une bonne base merci Mooosieur

Par Nicolas le 04/12/2005 à 16:30
bonjour.
J'utilise le code pour une galerie mais j'ai un probleme.Il me dit Undefined variable: compteur a la ligne 23 et 25
aussi Undefined variable: img
Si tu sais m'aider.Un grand merci

Par Rober le 02/05/2007 à 17:06
bonjour et merci pour ce script, j'aurais une question, comment peut on faire pour que le script affiche toute les images qu'il a trouvé ? Car je galère :S Merci d'avance

Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !