Parcourir un dossier pour récupérer les images et les trier par nom de fichier

Je me sers régulièrement de ce bout de script, très simple mais très utile, pour afficher un slider, une galerie d'images... C'est une base à travailler pour un affichage abouti.

<?php 
$dir = "chemin_vers/images";
$repo = opendir($dir);
while (false !== ($filename = readdir($repo))) {
$files[] = $filename;
}
sort($files);
$images=preg_grep ('/\.jpg$/i', $files);
foreach($images as $image)
{
    echo "<img src='$dir/$image'><br>\n";
}
?>

1. La variable $dir indique le chemin vers le dossier d'images.
2. La fonction opendir() ouvre un flux répertoire correspondant au répertoire et renvoie un pointeur sur ce flux. Le flux est positionné sur la première entrée du répertoire.
3. La fonction readdir() retourne le nom de la prochaine entrée du dossier. Les entrées sont retournées dans l'ordre dans lequel elles sont enregistrées dans le système de fichiers.
4. La fonction sort() trie le tableau array. Les éléments seront triés du plus petit au plus grand.
5. La fonction preg_grep() retourne un tableau avec les résultats de la recherche.
6. La fonction foreach() parcourt le tableau.

Ici on recherche des images avec l'extension jpg, mais on peut également modifier ce code pour récupérer tous types de fichiers.

BLOG COMMENTS POWERED BY DISQUS