Verwandte Methoden zur Verwendung der Glob-Methode zum Durchsuchen aller Dateien in einem Ordner

jacklove
Freigeben: 2023-03-31 07:40:01
Original
2225 Leute haben es durchsucht

Durchsuchen Sie alle Dateien im Ordner. Im Allgemeinen können Sie zum Durchsuchen die Methoden opendir und readdir verwenden.

Beispiel: Alle PHP-Dateien im angegebenen Verzeichnis finden (Unterordner nicht durchsuchen) , der Code lautet wie folgt:

<?php$path = dirname(__FILE__);$result = traversing($path);
print_r($result);function traversing($path){
    $result = array();    if($handle = opendir($path)){        while($file=readdir($handle)){            if($file!=&#39;.&#39; && $file!=&#39;..&#39;){                if(strtolower(substr($file, -4))==&#39;.php&#39;){
                    array_push($result, $file);
                }
            }
        }
    }    return $result;
}?>
Nach dem Login kopieren

Wenn Sie zum Durchlaufen die Methode glob verwenden, können Sie den Code vereinfachen

<?php$path = dirname(__FILE__);$result = glob($path.&#39;/*.php&#39;);
print_r($result);?>
Nach dem Login kopieren

Hinweis , glob gibt <🎜 zurück >path+search Der Pfad des Ergebnisses , z. B. path='/home/fdipzone', das obige Beispiel gibt

Array(
    [0] => /home/fdipzone/a.php
    [1] => /home/fdipzone/b.php
    [2] => /home/fdipzone/c.php
)
Nach dem Login kopieren

zurück. Dies unterscheidet sich von den zurückgegebenen Ergebnissen opendir und readdir.

Wenn Sie nur das aktuelle Verzeichnis durchsuchen. Es kann wie folgt geändert werden:

glob('*.php');
Glob-Syntaxbeschreibung:

array glob ( string $pattern [, int $flags = 0 ] )
Nach dem Login kopieren

glob Die ()-Funktion sucht nach allen Dateipfaden, die mit Muster übereinstimmen, gemäß den Regeln, die von der Funktion libc glob() verwendet werden, ähnlich den Regeln, die von allgemeinen Shells verwendet werden. Es wird keine Abkürzungserweiterung oder Parameterersetzung durchgeführt. Glob ist leistungsstark bei der Verwendung des regulären Pfadabgleichs.

Flags Gültige Flags sind:
GLOB_MARK – Fügen Sie jedem zurückgegebenen Element einen Schrägstrich hinzu.
GLOB_NOSORT – Geben Sie die Dateien zurück ihre ursprüngliche Reihenfolge des Erscheinens im Verzeichnis (nicht sortiert)
GLOB_NOCHECK – gibt das für die Suche verwendete Muster zurück, wenn keine Dateien übereinstimmen
GLOB_NOESCAPE – Backslash-Metazeichen ohne Escapezeichen
GLOB_BRACE – erweitert {a,b,c} so, dass es mit „a“, „b“ oder „c“ übereinstimmt.
GLOB_ONLYDIR – gibt nur Verzeichniseinträge zurück, die dem Muster < entsprechen 🎜>GLOB_ERR
– Fehlermeldungen stoppen und lesen (z. B. nicht lesbare Verzeichnisse), standardmäßig alle Fehler ignorieren

Beispiel:

Verwenden Sie die Glob-Methode, um alle PHP-Dateien in einem angegebenen Ordner zu durchlaufen (einschließlich Unterordner)

<?php$path = dirname(__FILE__);$result = array();
traversing($path, $result);
print_r($result);function traversing($path, &$result){
    $curr = glob($path.&#39;/*&#39;);    if($curr){        foreach($curr as $f){            if(is_dir($f)){
                array_push($result, $f);
                traversing($f, $result);
            }elseif(strtolower(substr($f, -4))==&#39;.php&#39;){
                array_push($result, $f);
            }
        }
    }
}?>
Nach dem Login kopieren
In diesem Artikel wird erläutert, wie Sie mit der Glob-Methode alle Dateien in einem Ordner durchsuchen. Bitte beachten Sie weitere verwandte Inhalte der chinesischen PHP-Website.

Verwandte Empfehlungen:

Erläuterung der PHP-Gleitkommazahlen-Vergleichsmethode


Abfrageergebnisse über MySQL nach CSV exportieren. Erklären Sie die Leistungsvergleich zwischen


php array_push und $arr[]=$value

Das obige ist der detaillierte Inhalt vonVerwandte Methoden zur Verwendung der Glob-Methode zum Durchsuchen aller Dateien in einem Ordner. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage