le monde de crabs (Christophe Cazajus)

PHP : index d'un dossier d'images

Introduction

Il peut s'avérer utile d'afficher les images (avec leur nom) qui se trouvent dans un répertoire.

Les images s'affichent sur une seule page (attention si il y a beaucoup d'images). L'affichage se fait dans un tableau contenant 5 cellules par ligne, autant de lignes que nécessaire.

La taille maximale d'une image sera de 100 pixels en hauteur ou en largeur. Dans le cas où l'image est plus grande, on l'affiche en petit en influant sur les arguments width et height de img. Cette 'vignette' sera un lien vers l'image en taille réelle.

Le script PHP

Ce script a été écrit en PHP, il se nomme image_index.php, le mettre dans tous les répertoires concernés.

    1 <?php
    2 echo <<<HTML
    3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
    4 <html>
    5 <head>
    6     <meta http-equiv="content-type" content="text/html, charset=iso-8859-15">
    7     <title>Liste des Images</title>
    8 <style type="text/css">
    9 body { font-size: 12pt ; }
   10 table { width: 100% ; border-collapse: 0 ; }
   11 table td { width: 20% ; text-align:center; vertical-align: middle ; }
   12 </style>
   13 </head>
   14 <body>
   15 <h1>Liste des Images</h1>
   16 
   17 HTML;
   18 
   19 $fic = array() ; $exclude = array( '.', '..', 'image_index.php' ) ;
   20 $dir = opendir( "." ) ;
   21 while( $f = readdir( $dir ) )
   22     if ( !in_array( $f, $exclude ) ) $fic[] = $f ;
   23 closedir( $dir ) ;
   24 
   25 natsort( $fic ) ;
   26 $col=0 ;
   27 echo "<table>\n" ;
   28 foreach( $fic as $f )
   29     {
   30     if ( $col == 0 ) echo "<tr>\n" ;
   31     $sz = getimagesize( $f ) ;
   32     $w = $sz[0] ; $h = $sz[1] ; if ( $w == 0 ) continue ;
   33     $info_sz = $w.'x'.$h ;
   34     if ( ( $w > 100 ) || ( $h > 100 ) )
   35         {
   36         if ( $w > $h )  { $tw = 100 ; $th = ( $h * 100 ) / $w ; }
   37                 else    { $th = 100 ; $tw = ( $w * 100 ) / $h ; }
   38         $lk = true ; $w = $tw ; $h = $th ;
   39         }
   40     else
   41         $lk = false ;
   42     echo "<td>" ;
   43     if ( $lk ) echo "<a href=\"$f\">" ;
   44     echo "<img src=\"$f\" alt=\"$f\" width=\"$w\" height=\"$h\">" ;
   45     echo "<br>$f<br>$info_sz" ;
   46     if ( $lk ) echo "</a>" ;
   47     echo "</td>\n" ;
   48     $col++;
   49     if ( $col == 5 ) {echo "</tr>\n" ; $col=0 ; }
   50     }
   51 
   52 if ( $col > 0 ) // on affiche les cellules manquantes...
   53     {
   54     for( $i=$col; $i<5;$i++ )
   55         echo "<td>&nbsp;</td>\n" ;
   56     echo "</tr>\n" ;
   57     }
   58 echo <<<HTML
   59 </table>
   60 </body>
   61 </html>
   62 
   63 HTML;
   64 ?>

Télécharger image_index.phpTélécharger image_index.php

Renseignez-vous sur les brevets logiciels en Europe :

NoSoftWarePatents.com (en français)

Les images représentant des sociétes, des associations ou des marques restent associées, par un lien, à ces sociétés, associations ou marques. Elles ne signifie en rien que ces sociétés, associations ou marques soutiennent ce site.

Sauf précision contraire, le contenu de ce site est mis à disposition sous un contrat Creative Commons.

Les informations fournies le sont sans aucune garantie. L'auteur ne pourra être tenu responsable de leurs utilisations.

De par l'utilisation du HTML 4.01 Strict et des CSS 2.1, le monde de crabs sera correctement vu avec les navigateurs respectant ces normes, Mozilla ou FireFox par exemple.

Site : Le Monde de Crabs
Titre : PHP : index d'un dossier d'images
Date du document : 10/04/2005
Auteur : Christophe Cazajus
Mail : crabs(mettre le @)crabs-world.com
ou utiliser ce formulaire de contact
Mots-clé : crabs, monde, francais, francophone, français, html, php, index, dossier, images
Description : Programme PHP permettant d'afficher une simple page HTML pour un dossier contenant des images.
Validation : html, css
The Linux Counter
Info iconelvis iconbash iconphp icongimp iconpovray iconxml iconxslt iconcss iconhtml icon
Slackware Linux
Creative Commons License

Le calendrier et les scores du Stade Toulousain sont accessibles sur cette page : Le monde de crabs et le Stade Toulousain.

Crabs's World : English Section