Salut à tous,
je viens d'attaquer un site web qui aura pour but (pour le moment) d'afficher des photos dans une gallerie.
Ma première approche (que j'ai déjà implémentée et qui fonctionne) était de mettre mes photos dans un répertoire et de récupérer le nom des fichiers qui ont une extension en jpeg / jpg. Les autres répertoires se trouvant dans ce répertoire serait aussi explorable de la même manière.
Voilà à quoi cela ressemble :
Après réflexion, je me demande si cette solution est la meilleure (n'y-a-t-il pas un risque de directory traversal si je me sers d'une adresse du style galerie.php?dir=mydir pour pouvoir changer de répertoire ? à moins de vérifier ce qui a été entré ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $current_dir = opendir('.'); if($current_dir) { while($file = readdir($current_dir)) { // éventuellement, on stocke le nom des répertoires $extension = strrchr($file, '.') ? strrchr($file, '.') : NULL; if(substr($file, 0, 3) == 'th_' && is_file($file) && ($extension == '.jpeg' || $extension == '.jpg')) { // affichage de l'image (petite précision, les noms de fichiers commençant par "th_" et le préfixe utilisé pour les vignettes correspondant aux photos) } } }
L'autre approche à laquelle j'ai pensé est d'utiliser mysql (qui me permettrait également de rajouter des infos pour chaque photo) mais j'ai quelques interrogations :
- les images devraient être ajoutées une par un dans la BD ? impossible d'ajouter/supprimer l'image "automatiquement" lorsque je la met/enlève dans le répertoire ?
- faut-il uniquement stocker les adresses des photos ou utiliser le type de données BLOB ?
Tout autre solution est la bienvenue, je débute donc je n'ai certainement pas encore les "bons réflexes" !
Merci d'avance
Partager