Syntax:
Die Syntax der Funktion glob() ist unten angegeben. Diese Funktion kann zwei Argumente annehmen. Das erste Argument nimmt den Musterwert an, der verwendet wird, um die Datei und den Ordner zu durchsuchen. Das zweite Argument ist optional und wird verwendet, um die Ausgabe auf unterschiedliche Weise zu generieren. Die allgemeinen Symbole, die verwendet werden, um das Muster zu definieren, und die verschiedenen Arten von Flags, die im zweiten Argument dieser Funktion verwendet werden können, werden unten beschrieben.
Array glob ( string $pattern [, int $flags = 0 ] )Meist verwendete Symbole im Muster
Muster | Zweck |
---|---|
? | Es wird verwendet, um genau einem Zeichen (beliebig) zu entsprechen. |
* | Es wird verwendet, um null oder mehr Zeichen abzugleichen. |
\ | Es wird verwendet, um die Zeichen zu maskieren, wenn das Flag GLOB_NOESCAPE verwendet wird. |
[…] | Es wird verwendet, um den Zeichenbereich abzugleichen. |
Flag-Werte
Die folgenden Flagwerte können im optionalen Argument der Funktion glob() verwendet werden.
Wert | Zweck |
---|---|
GLOB_MARK | Es fügt jedem zurückgegebenen Artikel einen Schrägstrich hinzu. |
GLOB_NOSORT | Es gibt unsortierte Dateien zurück, die im Verzeichnis erscheinen. |
GLOB_NOCHECK | Es gibt das Suchmuster zurück, wenn keine Übereinstimmung gefunden wird. |
GLOB_NOESCAPE | Es verwendet Backslashes und zitiert keine Metazeichenchar. |
GLOB_BRACE | Es erweitert die Charaktere einer Gruppe, um zu entsprechen. |
GLOB_ONLYDIR | Es gibt die Verzeichnisliste zurück, die nur mit dem Muster übereinstimmt. |
GLOB_ERR | Es wird verwendet, um zu stoppen, wenn der Fehler auftritt. |
Beispiel 1: Lesen Sie alle PHP-Dateien mit dem '*'-Symbol
Das folgende Beispiel zeigt, wie Sie alle PHP-Dateien des aktuellen Speicherorts mit dem '*.php'-Muster. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
Das Muster durchsucht jeden Dateinamen mit der Erweiterung PHP. Der Rückgabewert der Funktion ist ein Array, das als Ausgabe ausgegeben wird.
//Drucken Sie die Liste der Textdateien des aktuellen Verzeichnissesprint_r(glob("*.php"));
?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Es zeigt, dass am aktuellen Speicherort fünf PHP-Dateien vorhanden sind.
Beispiel 2: Lesen Sie bestimmte Textdateien mit dem '?'symbol
Im folgenden Beispiel werden alle Textdateien durchsucht, die einen Dateinamen mit fünf Zeichen enthalten. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
Das '?????.TXT' Muster wird verwendet, um die Textdatei mit dem fünfstelligen Dateinamen zu durchsuchen. Die Ausgabe der Funktion glob() ist ein Array, das in der Variablen gespeichert wird, $dateien. Die Werte dieser Variablen werden gedruckt mit printed der foreach Schleife.
// Spezifische Textdateinamen des aktuellen Speicherorts lesen$files = glob("?????.TXT");
//Drucken Sie die Dateinamen
foreach ($files als $file)
Echo"" . $Datei. "
";
?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Es zeigt, dass gemäß dem Muster am aktuellen Speicherort zwei Textdateien vorhanden sind.
Beispiel 3: Lesen Sie alle Dateien des aktuellen Speicherorts mit der Schleife
Das folgende Beispiel durchsucht alle Dateitypen vom aktuellen Speicherort und druckt die Dateinamen in jeder Zeile mit der Schleife using. '*.*' pattern wird in der Funktion glob() verwendet, um jede Datei eines beliebigen Typs zu durchsuchen. Der zurückgegebene Wert der Funktion wird im Array gespeichert, $dateien. Dann wird die Gesamtzahl der Dateien aus dem Suchergebnis gezählt. für jedes Schleife wird verwendet, um die Werte des Arrays in jeder Zeile auszugeben.
//Alle Dateinamen des aktuellen Speicherorts lesen$files = glob("*.*");
// Zähle die Gesamtzahl der Dateien
$count = count($files);
echo "Gesamtzahl der Dateien = $zählen
";
echo "Die Dateien sind:
";
//Drucken Sie die Dateinamen
foreach ($files als $file)
Echo"" . $Datei. "
";
?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Es zeigt an, dass am aktuellen Speicherort sechs Dateien vorhanden sind.
Beispiel 4: Datei suchen, die mit dem bestimmten Zeichen beginnt
Das folgende Beispiel durchsucht die PHP-Datei, die mit dem Zeichen beginnt 'G'. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
'G*.php' wird als Muster zum Durchsuchen der Dateien verwendet. Wie in den vorherigen Beispielen wird der zurückgegebene Wert der Funktion glob() in einem Array gespeichert, das später mit . ausgegeben wird ein foreach Schleife.
//Suchdatei beginnt mit 'g'$files = glob("g*.php");
//Drucken Sie die Dateien
foreach ($files als $file)
echo $datei. "
";
?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Es zeigt, dass am aktuellen Speicherort vier PHP-Dateien vorhanden sind, an denen die Dateien mit dem Zeichen beginnen 'G'.
Beispiel 5: Alle Dateien und Ordner lesen
Das in allen vorherigen Beispielen verwendete Muster durchsuchte nur die Dateien vom aktuellen Speicherort. Das folgende Beispiel zeigt, wie Sie alle Dateien und Ordner des aktuellen Speicherorts durchsuchen können. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.
'*' wird als Muster in der Funktion glob() verwendet, um alle Dateien und Ordner zu durchsuchen. Die zurückgegebenen Werte der Funktion werden in einem Array gespeichert, das später ausgegeben wird.
//Alle Dateien und Ordner des aktuellen Speicherorts lesen$files = glob("*");
//Drucken Sie die Dateien und Ordner
foreach ($files als $file)
echo $datei. "
";
?>
Ausgabe:
Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wurde. Es zeigt, dass am aktuellen Speicherort fünf PHP-Dateien, drei Textdateien und zwei Ordner vorhanden sind.
Fazit
Die Methoden zum Durchsuchen von Dateien oder Ordnern werden in diesem Tutorial mit der glob()-Funktion von PHP gezeigt. Die Datei kann anhand der Erweiterung, des Anfangszeichens oder durch Angabe der Gesamtzahl der Zeichen durchsucht werden. Hoffentlich wird die Verwendung der glob()-Funktion in PHP für die Leser klarer und einfacher, nachdem sie die Beispiele dieses Tutorials geübt haben.