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 :

Formulaire de paiement paypal en PHP
Require - format d'écriture
Enlever des mots avec les expressions régulières
Affichage tampon en PHP : Output buffering
Une fonction file_put_contents pour PHP4
Ucfirst ou Convertir la première lettre d'une chaine en majuscule
Garder une variable de session après fermeture du navigateur
Bonnes pratiques : Utilisez des simples quotes dans les chaînes PHP
Récupérer l'adresse de la page courante
Connaitre l'heure de son serveur
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