Wie rufe ich Unterverzeichnisse in PHP ab, ohne Root- und Directory-Traversal-Indikatoren?

Linda Hamilton
Freigeben: 2024-11-14 14:35:02
Original
891 Leute haben es durchsucht

How to Retrieve Subdirectories in PHP, Excluding Root and Directory Traversal Indicators?

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);
Nach dem Login kopieren

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');
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage