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.

<span> Allgemeines Inline-Element

CSS - Button Glas-Effekte

PHP - Begrüßung der Besucher

JavaScript - Iframe alle 10 Sekunden neu laden

MySQL - Text automatisch nach Zeichenanzahl kürzen

Farbpalette
Verwandeln Sie Ihre Seite nicht in eine kunterbunte Farbpalette. Drei bis fünf Farben genügen völlig. Zu viele Farben erwecken einen unprofessionellen und kreativ losen Eindruck.