le MEMO du WEB développeur
••• PHP •••  Liste des Mémos, astuces et bonnes pratiques

Parcourir les images d'un répertoire en PHP

La fonction PHP suivante parcourt toutes les images dont l'extension est .gif, .jpg, .jpeg, .png du répertoire passé en paramètre $rep, et les affiche dans une liste à puces.

function ParcourirLesImagesDuReperoire($rep){  
    $Myrep = opendir($rep) or die('Erreur : répertoire non trouvé : '.$rep);
    echo '<ul>';
    while($Entry = @readdir($Myrep)) {
       if(!(is_dir($rep.'/'.$Entry)&& $Entry != '.' && $Entry != '..')) {
            $extension=strtolower(strrchr($Entry,'.'));
            if (in_array ($extension, array ('.gif','.jpg','.jpeg','.png'))){
              echo '<li>'.$Entry.'</li>';
            }
        }
    }
    echo '</ul>';
    closedir($Myrep);  
}

La fonction glob() :

La fonction PHP native glob() parcourt un dossier et stocke dans un tableau les noms des fichiers correspondant au pattern passé en paramètre.

$images=glob('images/*.{jpg,png,gif}', GLOB_BRACE);

$images contiendra le tableau de tous les fichiers d'extension jpg, png, gif présents dans le répertoire "image".

 

Trier les images par date de dernière modification :

Voici le code qui permet de parcourir les fichiers  d'extension jpg, png ou gif du répertoire "images/" en les affichant par ordre de date de dernière modification décroissante.

<?php
$dir = "images/";
chdir($dir);
array_multisort(array_map('filemtime', ($files = glob("*.{jpg,png,gif}", GLOB_BRACE))), SORT_DESC, $files);
foreach($files as $filename)
{
    echo "<li>".substr($filename, 0, -4)."</li>"; 
} 
?>

 

publié le 05/12/2012 par Memo Web
ImagesRépertoire
Commentaire :
Oui il est possible d'afficher les fichiers contenus dans un répertoire en les triant par ordre chronologique. J'ai rajouté le code en fin de mémo.
par tarabusk, le 27/07/2013
Bonjour,

Y aurait-il un moyen pour que l'on affiche les images par ordre de dernière modification ?
par inconnu, le 26/07/2013
Commenter le Mémo :

Script de Backup / Sauvegarde de la Base Mysql en PHP
Connaitre l'heure de son serveur
Vérifier qu'une chaine est constituée de caractères alphanumériques
Convertir un format dateTime Français en format MySQL
Enlever les balises HTML d'une chaîne en PHP
Vérifier la validité du format d'un email en PHP - Expression régulière
Affectation conditionnelle sous PHP
Fonction de sécurisation des données passées dans formulaire ou URL
Espaces parasites rajoutés lors d'un envoi de mail
Bonne pratique : Syntaxes du if then else en PHP
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos