PHP - Dateien im Verzeichnis rekursiv auflisten, mit Filter

Sollen Verzeichnisse nach Dateien durchsucht und dabei alle vorhandenen Unterverzeichnisse mit berücksichtigt werden (rekursive Suche), bietet sich das folgenden Script-Beispiel an. Die Suche kann mittels Filter auf bestimmte Dateitypen eingeschränkt werden, wobei die Dateiendungen frei gewählt werden können.


<?php

// Dateien rekursiv auflisten mit Filter für mehrere Dateiendungen

$startdir "./"// Auszulesendes Verzeichnis
$extension '/\.(?:jpg|gif|html)$/i'// Dateiendungen (hier jpg, gif, html)

$iterator = new RecursiveIteratorIterator(
    new 
RecursiveDirectoryIterator($startdir)
);
$selected_files = new RegexIterator($iterator$extension);

foreach (
$selected_files as $file) {
    if (!
$file->isFile()) {
        continue;
    }
    echo 
$file->getPathname() . "<br>";
}
?>

Dateien im Verzeichnis rekursiv auflisten, ohne Filter


<?php

function directoryScan($dir) {
    if (isset(
$dir) && is_readable($dir)) {
        
$directionList = array();

        
$dir realpath($dir);

        
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dirFilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST);

        
$x 0;
        foreach (
$objects as $entry => $object) {
            
$getpath str_replace($dir''$entry);
            
$size ceil($object->getSize() / 1024);
            
$changed date($object->getMTime());

            
$directionList[$x]['path'] = $getpath;
            
$directionList[$x]['size'] = $size;
            
$directionList[$x]['changed'] = $changed;
            
$x++;
        }

        return 
$directionList;
    }
}

$result directoryScan('bilder');

echo 
'<pre>';
print_r($result);
?>

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<form> Formular

CSS - Ladeanimation ohne Bild-Grafik

PHP - Lange Links automatisch kürzen

JavaScript - Element ein- und ausblenden

MySQL - Löschen eines Datensatzes oder mehrere Datensätze

Seiten besuchen - Von Webseiten lernen
Schauen Sie sich auf anderen Webseiten um, suchen sie nach Ideen für Ihre eigene Seite. Gehen Sie mit wachsamem Auge durchs Netz. Lernen Sie aus den Fehlern anderer. Sagen Sie sich: "das hätte ich anders" oder "besser gemacht". Klicken Sie auf jeden noch so kleinen Link, schauen Sie was sich dahinter verbirgt. Wenn man zukünftigen Designern eine Empfehlung geben kann, dann diese: Surfen, surfen, surfen. Je mehr man mit eigenen Augen sieht, selbst ausprobiert und erlebt, desto besser.