Comment lister et afficher les images d'un dossier en PHP ?
Réponses rédigées par Antoine
Dernière mise à jour : 2021-05-13 13:23:59
Question
Comment puis-je lister et afficher toutes les images qui sont contenues dans un dossier en PHP ?
Réponse
Pour lister et afficher les images d'un dossier en PHP, vous devez effectuer les opérations suivantes :
- Vérifier que le dossier est bel et bien un répertoire avec la fonction
is_dir()
. - Vérifier que le dossier est accessible et l'ouvrir avec la fonction
opendir()
. - Parcourir le contenu du dossier avec la fonction
readdir()
. - Exclure les arguments
.
et..
pour éviter que le script puisse changer de dossier. - Vérifier que les fichiers sont des images avec les fonctions
finfo_open()
etfinfo_file()
. - Fermer le dossier avec la fonction
closedir()
.
Voici en exemple un script PHP qui liste et affiche toutes images contenues dans un dossier nommé "test" :
<?php
function lister_images($repertoire){
if(is_dir($repertoire)){
if($iteration = opendir($repertoire)){
while(($fichier = readdir($iteration)) !== false){
if($fichier != "." && $fichier != ".."){
$fichier_info = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($fichier_info, $repertoire.$fichier);
if(strpos($mime_type, 'image/') === 0){
echo '<img src="'.$repertoire.$fichier.'" alt="">';
}
}
}
closedir($iteration);
}
}
}
lister_images("test/");
?>