Lister les fichiers d’un dossier

4 mai 2013 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

Je suis certain que lorsque vous devez lister tout ce que contient un dossier, ou simplement afficher toutes les images d’un dossier, le faire à la main …. c’est hyper relou.

Donc pourquoi pas le faire en php ?

On va voir comment lister tous les fichiers qui sont contenu dans un dossier. (on va éviter la récursivité pour le moment ^^ on s’arrêtera qu’à un seul niveau).

$dossier = 'img';
// on teste si l'élément sélectionné est bien un dossier
if(is_dir($dossier)){
	// si l'ouverture du dossier se passe bien
	if($open = opendir($dossier)){
		// on boucle tant qu'il y a un fichier
		while (($file = readdir($open)) !== false){
			// on récupère le chemin du fichier
			$cheminImage = $dossier.'/'.$file;
			// si l'élément est bien un fichier
			if(is_file($cheminImage)){
				// on garde seulement le nom du fichier (sans l'ext)
				$name = pathinfo($file, PATHINFO_FILENAME);
				// on affiche notre image
				echo '<img src="'.$cheminImage.'" alt="'.$name.'" width="300" />';
			}
		}
		// on ferme le dossier
		closedir($open);
	}else{
		$error = "Problème à l'ouverture du dossier";
	}
}else{
	 $error = "L'élément choisit n'est pas un dossier, soit il n'éxiste pas.";
}

// et on affiche l'erreur si elle éxiste
if(isset($error)) echo $error;

Le gros avantage est qu’une fois en place, il reste simplement à ajouter les fichiers (ici des images) dans le dossier et elles seront automatiquement chargés.

Et avec un peu de jQuery (et par exemple le plugin fancybox) on peut rapidement obtenir une galerie d’images fonctionnelles.

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories