Lister les images d'un répertoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 773 fois - Téléchargée 28 fois

Contenu du snippet

Permet d'afficher les images d'un répertoire et le BBCode correspondant (afin de pouvoir mettre l'image dans un forum).
Ce script (je m'étais inspiré d'une source de ce site) permet en outre de n'afficher que x images par page, et de sélectionner l'extension voulue (par défaut, seuls les .gif sont pris en compte).

Source / Exemple :


<html>
<head>
   <title>Banque de Smileys</title>
</head>
<body bgColor=#006699 text="#FFFFCC">
<table border=0 align="center">
<?php
//URL du dossier des images (ex : http://monsite.com/images/ )
$racine = "http://monsite.com/images/";

// Votre dossier d'images, relativement à la page.
$dossier = opendir(".");

// variable d'itération, afin de n'afficher que x images par page
$i = 0;

// remplacer 15 par le nombre d'images par page souhaité
$nbimages = 15;

//si on doit commencer au fichier x : autrement, on commence au fichier 2 (les 0 et 1 sont les répertoires parent et courant)
$debut = ($_GET["debut"]) ? $_GET["debut"] : 2;
$i+=$debut;

while ($Fichier = readdir($dossier))
{
    $files[] = $Fichier;
}
//on range par ordre alphabétique
sort($files);

while ($files[$i] && ($i)<($nbimages+$debut))
{
   if ( $files[$i] != ".." && $files[$i] != "." && $files[$i] != "" && ereg("(.gif)$",$files[$i]) )
   {
      echo '<tr>
              <td>
                <img src="'.$files[$i].'" border=0 >
         </td>
         <td>
            <font face=Verdana size=1>[img]'.$racine.'/'.$files[$i].'/img</font>
              </td>
            </tr>';
   }
   $i++;

}
if($files[$i]!="")
{
   echo "<tr>
      <td colspan=2 align='right'><a href='$PHP_SELF?debut=$i'>Suivants</a></td>
         </tr>";
}

closedir($dossier);

?>
</table>
</body>
</html>

Conclusion :


Ma deuxième source ... ce n'est pas d'un très haut niveau, j'en ai peur ;-)

A voir également

Ajouter un commentaire

Commentaires

cs_xmag
Messages postés
23
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
11 juin 2007

Salut,

J'ai créé une autre source à partir de la tienne si ça t'interesse : http://www.phpcs.com/code.aspx?ID=38883 En tout cas, merci ;-)
ceacy
Messages postés
27
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
4 août 2008

XMag > Il y a quand même deux ou trois modifications à faire, maintenant que la variable register_globals est à "off" par défaut dans la configuration de PHP.
Comme ça, à première vue, je remplacerais cette ligne :
$debut = ($_GET["debut"]) ? $_GET["debut"] : 2;
Par :
$debut = isset($_GET["debut"]) ? $_GET["debut"] : 2;
Sinon, il risque d'y avoir un warning. Et le code html est à modifier, il ne me semble pas qu'il soit tout à fait standard.
cs_xmag
Messages postés
23
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
11 juin 2007

Merci pour cette source, c'est exactement ce que je cherchais :-)
lepiaf2000
Messages postés
2
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2005

Merci pour ce code ;)
Je le cherchais depuis longtemps
Bonne continuation :)
ceacy
Messages postés
27
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
4 août 2008

Inspire-toi du bout de code de la fin ; simplement, si $debut > 0, tu affiches le lien "page précédente". ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.