Heim > Backend-Entwicklung > PHP-Tutorial > Wie finde ich Unterverzeichnisse mit Ausnahme von Dateien und speziellen Verzeichnissen in PHP?

Wie finde ich Unterverzeichnisse mit Ausnahme von Dateien und speziellen Verzeichnissen in PHP?

Patricia Arquette
Freigeben: 2024-11-13 10:42:02
Original
444 Leute haben es durchsucht

How to Find Subdirectories Excluding Files and Special Directories in PHP?

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

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

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!

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