Salut,
Je suis en train d'essayer de construire une petite photothèque en php. J'ai donc un répertoire "albums", qui lui-même contient des sous-répertoires thématiques (un répertoire = un album de photos). Et ces répertoires thématiques contiennent donc les photos (en jpg).
Et je rencontre un petit souci de codage php pour générer les liens "précédent" et "suivant" lors de l'affichage d'une photo, ne pouvant pas me baser sur l'id de la table sql (des photos peuvent être enlevées ou ajoutées dans les albums, et donc les id ne se suivent plus), ni sur le nom de la photo (qui est aléatoire).
Donc pour arriver à trouver une logique entre l'ordre des miniatures dans l'album et l'odre des liens "suivant" et "précédent", j'ai décidé de classer (arbitrairement) les miniatures par ordre alphabétique du nom de fichier.
A partir de là , il faut que j'arrive à trouver un moyen d'obtenir, à partir du nom de fichier de la photo en cours, le nom du fichier précédent et le nom du fichier suivant. Je suis parti sur la possibilité de lister le contenu du répertoire contenant les photos et de classer ce contenu dans un tableau. Ce qui donne le code ci-dessous
// créer un tableau pour stocker le contenu du répertoire
$tab = array();
// chemin vers le répertoire
$rep = "albums/fleurs";
// mettre le contenu du répertoire dans le tableau
$listRep=opendir($rep);
$i=0;
while ($file = readdir($listRep))
{
if ($file != "." && $file != "..")
{
$tab[$i] = $file;
$i++;
}
}
// fermer le répertoire
closedir($listRep);
C'est très bien (enfin j'espère...), mais je ne sais pas comment faire pour récupérer à partir de là le nom du fichier précédent et du fichier suivant, sachant que le nom de la photo en cours est contenu dans une variable GET.
![[:edit] [:edit]]()
J'ai un peu progressé ; j'arrive maitenant à récupérer la place du fichier dans le tableau grâce à un array_search ; je peux donc identifier la place précédente et la place suivante... Mais comment après obtenir les valeurs contenues dans le tableau à ces postions ?
Si vous pouviez éclairer ma lanterne
Merci d'avance