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.
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> </td>\n" ; 56 echo "</tr>\n" ; 57 } 58 echo <<<HTML 59 </table> 60 </body> 61 </html> 62 63 HTML; 64 ?>
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 |
Le calendrier et les scores du Stade Toulousain sont accessibles sur cette page : Le monde de crabs et le Stade Toulousain.