Abrufen von Unterverzeichnissen mit PHP
In PHP müssen Sie möglicherweise auf alle Unterverzeichnisse innerhalb eines bestimmten Verzeichnisses zugreifen, mit Ausnahme des Stammverzeichnisses und der Verzeichnisdurchquerung Indikatoren. So können Sie dies mit zwei verschiedenen Ansätzen erreichen.
Option 1: Verwendung von glob()
Die Funktion glob() bietet eine einfache Möglichkeit, Dateien und Verzeichnisse aufzulisten einem bestimmten Muster entsprechen. Um nur Unterverzeichnisse abzurufen, verwenden Sie es mit der Option GLOB_ONLYDIR:
$subdirectories = glob('*/*', GLOB_ONLYDIR);
Option 2: Array_filter verwenden
array_filter ermöglicht es Ihnen, ein Array basierend auf einer Rückruffunktion zu filtern . Sie können damit Unterverzeichnisse identifizieren, indem Sie „.“ ausschließen. und „..“ und das Filtern der glob()-Ergebnisse:
function is_subdirectory($item) { return is_dir($item) && $item != '.' && $item != '..'; } $subdirectories = array_filter(glob('*'), 'is_subdirectory');
Verwendung in einer Funktion
Sobald Sie das Array der Unterverzeichnisse haben, können Sie es übergeben an eine Funktion zur weiteren Bearbeitung übergeben. Die folgende Funktion gibt beispielsweise die Pfade aller Unterverzeichnisse aus:
function print_subdirectory_paths($subdirectories) { foreach ($subdirectories as $subdirectory) { echo $subdirectory . PHP_EOL; } }
Das obige ist der detaillierte Inhalt vonWie rufe ich Unterverzeichnisse in PHP ab, ohne Root- und Directory-Traversal-Indikatoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!