Heim  >  Artikel  >  Backend-Entwicklung  >  Verwandte Methoden zur Verwendung der Glob-Methode zum Durchsuchen aller Dateien in einem Ordner

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

jacklove
jackloveOriginal
2018-06-09 10:34:402208Durchsuche

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;
}?>

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);?>

Hinweis , glob gibt 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
)

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 ] )

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 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);
            }
        }
    }
}?>
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!

Stellungnahme:
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