Suchen von Unterverzeichnissen mit Ausnahme von Dateien und speziellen Verzeichnissen in PHP
In Webentwicklungsszenarien das Abrufen nur von Unterverzeichnissen aus einem bestimmten Verzeichnis, ohne allgemeine Unordnung wie z Regelmäßige Dateien, das aktuelle Verzeichnis oder das übergeordnete Verzeichnis werden zu einer allgemeinen Anforderung. Dieser Artikel befasst sich mit praktischen Methoden, um diese Aufgabe in PHP zu erfüllen.
Verwenden von Glob() mit der Option GLOB_ONLYDIR:
Die Funktion glob() bietet eine bequeme Möglichkeit zum Suchen für Pfadnamen, die einem bestimmten Muster entsprechen. Um alle Unterverzeichnisse abzurufen, können wir glob() mit der Option GLOB_ONLYDIR kombinieren. Diese Option stellt sicher, dass nur Verzeichnisse zurückgegeben werden und die Dateien „.“ und „..“ eliminiert werden.
$sub_directories = glob('./path/to/directory/*', GLOB_ONLYDIR); foreach ($sub_directories as $directory) { // Use each directory in a function }
Array_filter mit is_dir-Funktion verwenden:
Andere Der Ansatz beinhaltet die Verwendung von array_filter() zum Filtern einer Liste aller Elemente im Verzeichnis, einschließlich „.“, „..“ sowie sowohl Dateien als auch Verzeichnissen. Der folgende Code demonstriert dies:
$items = scandir('./path/to/directory'); $directories = array_filter($items, 'is_dir'); foreach ($directories as $directory) { // Exclude "." and ".." using ternary operators if ($directory != '.' && $directory != '..') { // Use each directory in a function } }
Beachten Sie, dass die bereitgestellte Funktion array_filter(glob('*'), 'is_dir') Verzeichnisse unabhängig von ihren Namen filtert. Wenn jedoch Unterverzeichnisse mit Punkten im Namen vorhanden sind (z. B. „.config“), werden diese übersprungen.
Das obige ist der detaillierte Inhalt vonWie finde ich Unterverzeichnisse mit Ausnahme von Dateien und speziellen Verzeichnissen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!