Lister les images d'un répertoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 850 fois - Téléchargée 30 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
1 août 2006 à 16:23
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
1 août 2006 à 15:42
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
1 août 2006 à 13:36
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
5 mai 2006 à 22:25
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
21 janv. 2005 à 18:39
Inspire-toi du bout de code de la fin ; simplement, si $debut > 0, tu affiches le lien "page précédente". ;-)
Afficher les 11 commentaires

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.