Generation de miniatures simples et rapides

Contenu du snippet

Simplement mettre le fichier galerie.php dans un repertoire et ensuite le modifier pour changer le repertoire des imgs, la presentation et la taille des miniatures.

Source / Exemple :


<?
/*
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
         |                                                                   |
         |  Par gogoprog - gogoprog@skynet.be                                |
         |      Galerie Automatique sans MySQL simple et rapide              |
         |  basé sur le code de Neocide - neocide@nomade.fr                  |
         |   Totalement modifié par gogoprog :)				     |
         |   Jlai rendu beaucoup plus simple et rapide			     |
         |   Merci a Neocide pour la base :) 				     |
         |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
          -------------------------------------------------------------------

  • /
function isImg ($file){if (eregi(".jpg$",$file)){return true;}} // Fonction de verification des fichiers jpeg $genererImg = "redimImg.php"; // Fichier php qui se charge de faire les reduction d'image $repImg = "sk8"; // Repertoire des images $handle = opendir("$repImg"); // On ouvre le repertoire des images while ($file = readdir($handle)) {if ($file != "." && $file != ".." && isImg ($file)) {$listImg[] = $file; // On place toutes les images du dossier dans le tableau $imgList sort($listImg);}} // On classe les fichiers dans l'orde alphabetique (c'est plus mieux ;D) ) closedir($handle); // On ferme le repertoire des images // presentation de la page echo " <body bgcolor=#000000> "; $lien = "galerie.php?"; // Liens pour afficher votre page if (empty($Galerie)) {$Galerie = 1;} $precGalerie = $Galerie-1; // Galerie precedente $suivGalerie = $Galerie+1; // Galerie suivante $nbImg = count($listImg); // Compte le nombre d'image $nbLigne = 4; // Nombre de ligne souhaité $nbCol = 5; // Nombre de colonne souhaité $nbImgParPg = $nbLigne*$nbCol; // Calcul du nombre d'image par page $nbGalerie = $nbImg/$nbImgParPg; // Calcul du nombre de galerie $nbGalerie = ceil("$nbGalerie"); // Calcul du nombre de galerie, arrondi superieur du calcul $numImg = ($Galerie*$nbImgParPg)-$nbImgParPg; // Compteur pour le tableau $imgList echo"<table border=0 cellspacing=5 cellpadding=3 width=100% align=center> <tr><td colspan=$nbCol><font size=25 face=Arial>$Galerie</font> <font size=5 face=Arial>$repImg</font></td></tr>"; $comptLigne = 0; // Mise a zero du compteur de lignes while ($comptLigne < $nbLigne) {echo "<tr>"; $comtpImg = 0; // Mise a zero du compteur d'images while ($comtpImg < $nbCol && $numImg < $nbImg) {echo "<td align=center><a target=blank href=\"$repImg/$listImg[$numImg]\"><img src=\"$repImg/$listImg[$numImg]\" border=0 width=150 height=150></a></td>"; //change la ligne ci-dessus pour la taille des miniatures $numImg++; // Incremantation du compteur de $imgList (each() et foreach() etait beaucoup moins pratique :D( ) $comtpImg++; // Incremantation du compteur d'images } echo "</tr>"; $comptLigne++; // Incremantation du compteur de lignes } echo "<tr><td colspan=$nbCol align=center><table width=100% border=0 cellspacing=0 cellpadding=0><tr align=center><td colspan=2>"; for ($compt = 1; $compt <= $nbGalerie && $nbGalerie > 1; $compt++) {echo"| <a href=\"$lien"."Galerie=$compt\">$compt</a> ";} if ($nbGalerie > 1){echo" | ";} echo "</td></tr><tr><td width=50% align=left>"; if ($Galerie > 1) {echo "<a href=\"$lien"."Galerie=$precGalerie\">Precedent</a> ";} // Lien "precedent" echo" </td><td width=50% align=right>"; if ($Galerie < $nbGalerie) {echo "<a href=\"$lien"."Galerie=$suivGalerie\">Suivant</a>";} // Lien "suivant" echo "</td></tr></table></td></tr></table></body></html>"; ?>

Conclusion :


Je me suis basé sur le code de Neocide mais jai modifié pas mal de chose.
Mon code est plus simple et plus rapide mais les miniatures sont strechées :)
Merci à lui quand meme pour la base :)

A voir également

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.