Benutzer-Werkzeuge

Webseiten-Werkzeuge


core:helper:directory:read

Verzeichnisinhalte ermitteln

Synopsis

scanDirectory( $dir, $with_files = false, $files_only = false, $remove_prefix = NULL, $suffixes = array(), $skip_dirs = array(), $skip_files = array() )

Für diese Funktion gibt es mehrere „Shortcut“-Funktionen, die die Verwendung erleichtern. Alle verwenden intern jedoch scanDirectory().

Parameter

$dir
String Das Verzeichnis, in oder ab dem gesucht werden soll
$with_files optional
Boolean auch Dateien zurückliefern, Default: false
$files_only optional
Boolean nur Dateien zurückliefern, Default: false
$remove_prefix optional
String Entfernt diesen Teil vom Verzeichnisnamen; üblicherweise wird hier $dir nochmal angegeben, dann sind alle Suchergebnisse in relativen Pfaden
$suffixes optional
Array Liste von Dateiendungen, nach denen gefiltert werden soll; funktioniert nur wenn $with_files true ist
$skip_dirs optional
Array Liste von Verzeichnissen, die übersprungen werden sollen
$skip_files optional
Array Liste von Dateinamen, die übersprungen werden sollen


Rekursion

Standardmäßig arbeitet scanDirectory() rekursiv, das heißt, man bekommt alle Dateien bzw. Verzeichnisse ab dem angegebenen Startverzeichnis. Möchte man das unterbinden - oder die maximale Tiefe der Rekursion begrenzen - geht das mit der Methode maxRecursionDepth().

Beispiel

Liefert alle (und nur) Dateien unterhalb von ./temp und maximal einer Verzeichnisebene darunter.

$dh = CAT_Helper_Directory::getInstance();
$dh->maxRecursionDepth(1);
$files = $dh->scanDirectory(CAT_PATH.'/temp', true, true);

Das Ganze geht auch als Einzeiler:

$files = CAT_Helper_Directory::getInstance()->maxRecursionDepth(1)->scanDirectory(CAT_PATH.'/temp', true, true);

core/helper/directory/read.txt · Zuletzt geändert: 2014/05/08 00:00 (Externe Bearbeitung)