/**************************************************************
- petite gallerie d'image vite faite...en recuperant
- la liste des images d'un repertoire donnée.
*
- il faut renseigner les variables suivantes :
- - $rep : repertoire contenant les fichiers images
- - $image_prec : fichier image du bouton precedent
- - $image_suiv : fichier image du bouton suivant
- - $image : la premiere image a afficher
Source / Exemple :
<?
/* fichier gallerie.php */
echo "<HTML>\n";
echo "<BODY BGCOLOR=#FFF0F5></BODY>";
echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";
$cpt = 0;
/**
- on recupere d'abord tous les fichiers et num d'indexe
- /
if ($dir = opendir("$rep")) {
while($file = readdir($dir)) {
if(($file != ".") && ($file != "..")) {
$liste[$cpt] = $file;
$tableau[$file] = $cpt++;
}
}
}
/**
- on recupere l'indexe de l'image et comptabilise le nbre
- /
$num = $tableau[$image];
$nb = $cpt - 1;
if($num == 0) {
$num = $nb;
}
elseif($num == $nb) {
$num = 0;
}
/**
- on positionne sur les images aux etremites
- et determine l'image suivant/precedente
- /
$premiere_photo = $liste[0];
$derniere_photo = $liste[$cpt-1];
$next = $liste[$num + 1];
$prev = $liste[$num - 1];
/**
- quelques infos sur le fichier image pour mieux le positionner
- /
$size = GetImageSize($rep . "\\" . $image);
$largeur = $size[0];
$hauteur = $size[1];
if($largeur > $hauteur)
echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
else
echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
echo "</DIV></BR>";
echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";
echo "<A HREF=\"gallerie.php?rep=$rep&image=$prev\"><IMG BORDER=0 SRC=\"$image_prec\"></A>";
echo " ";
echo "<A HREF=\"gallerie.php?rep=$rep&image=$next\"><IMG BORDER=0 SRC=\"$image_suiv\"></A>";
echo "</DIV>";
echo "</HTML>\n";
?>
Conclusion :
/**************************************************************
- on appele se script avec en parametre la premiere image
- a afficher et le repertoire. exemple :
- <A HREF=gallerie.php?rep=" . $rep . "&image=" . $file .">";
7 déc. 2007 à 21:56
Dommage que tu abandonne ce script,
c'est pourtant tjr intéréssant pour des débutants de pouvoir lire un script simple et bien fait comme celui-ci pour apprendre par l'exemple :D
Ciao
22 déc. 2005 à 10:09
Merci pour les remarques...
A++
22 déc. 2005 à 09:54
Autant pour moi !!!
C'est un truc que j'avais ecrit il y a fort fort longtemps. Je bosse sur quelque chose de plus serieux et le posterais par la suite.
a++
22 déc. 2005 à 08:29
echo "\n";
echo "\n";
dans cette condition :
if($largeur > $hauteur)
echo "\n";
else
echo "\n";
En +,
$premiere_photo = $liste[0];
$derniere_photo = $liste[$cpt-1];
font quoi dans ton code?
Un effort pour optimiser le code.
3 mai 2005 à 21:13
Du coup, j'ai fait quelques modif...histoire qu'il tourne mieux !
<?
/* fichier gallerie.php */
echo "<HTML>\n";
echo "";
echo "
\n";
$rep = ".";
$image_prec = "./precedent.jpg";
$image_suiv = "./suivant.jpg";
if ($image == "")
$image = "une_photo.jpg";
$cpt = 0;
/**
*on recupere d'abord tous les fichiers et num d'indexe
*/
if ($dir = opendir("$rep")) {
while($file = readdir($dir)) {
if(($file != ".") && ($file != "..")) {
if (eregi("jpg", $file)) {
$liste[$cpt] = $file;
$tableau[$file] = $cpt++;
}
}
}
}
/**
* on recupere l'indexe de l'image et comptabilise le nbre
*/
$num = $tableau[$image];
$nb = $cpt - 1;
if($num == 0) {
$num = $nb;
}
elseif($num == $nb) {
$num = 0;
}
/**
* on positionne sur les images aux etremites
* et determine l'image suivant/precedente
*/
$premiere_photo = $liste[0];
$derniere_photo = $liste[$cpt-1];
$next = $liste[$num + 1];
$prev = $liste[$num - 1];
/**
* quelques infos sur le fichier image pour mieux le positionner
*/
$size = getimagesize($rep . "/" . $image);
$largeur = $size[0];
$hauteur = $size[1];
if($largeur > $hauteur)
echo "\n";
else
echo "\n";
echo "
";
echo "
\n";
echo "";
echo " ";
echo "";
echo "
";
echo "</HTML>\n";
?>
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.