Include dotfiles excluding . and .. special dirs with .[!.]*
<?php
$all_files = array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files = glob('{.[!.],}*', GLOB_BRACE);
?>(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — Findet Dateinamen, die mit einem Muster übereinstimmen
   glob() findet Dateipfade, die mit dem angegebenen
   Muster pattern übereinstimmen. Die Übereinstimmung
   wird nach den gleichen Regeln geprüft, wie in der glob()-Funktion der
   C-Bibliothek und entspricht weitgehend den Regeln in den üblichen
   Kommandozeilen-Shells.
  
   Das Verhalten auf Unix- und macOS-Systemen wird durch die systemeigene
   Implementierung von glob() bestimmt. Unter Windows wird eine Implementierung
   verwendet, die der POSIX-Definition 1003.2 für glob() entspricht und eine
   Erweiterung enthält, mit der die [!...]-Konvention für
   die Negierung eines Bereichs behandelt werden kann.
  
patternDas Suchmuster. Parameter- und Tilde-Ersetzungen finden nicht statt.
Sonderzeichen:
* - Kein oder mehr Zeichen.
         
        ? - Genau ein (beliebiges) Zeichen.
         
        [...] - Ein Zeichen einer Gruppe von Zeichen. Ist
          erste das Zeichen ein !, dann jedes Zeichen, das
          nicht in der Gruppe enthalten ist.
         
        {a,b,c} - Wenn das Flag
          GLOB_BRACE verwendet wird, eine Zeichenkette aus
          einer Gruppe von Zeichenketten, die durch ein Komma getrennt sind.
         
        \ - Maskiert das folgende Zeichen, es sei denn,
          das Flag GLOB_NOESCAPE wurde verwendet.
         
        flags
       Jede der GLOB_*-Konstanten.
      
   Gibt ein Array mit den übereinstimmenden Datei- und Verzeichnisnamen zurück.
   Wenn keine Treffer gefunden wurden, wird ein leeres Array zurückgegeben,
   und im Fehlerfall false.
   Wenn nicht GLOB_NOSORT verwendet wird, werden die Namen
   alphanumerisch sortiert.
  
Beispiel #1 Einfacher Ersatz von opendir() etc. durch glob()
<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename - Größe: " . filesize($filename) . "\n";
}
?>Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
funclist.txt - Größe: 44686 funcsummary.txt - Größe: 267625 quickref.txt - Größe: 137820
Beispiel #2 Beispiel mit einem komplexeren Muster
<?php
foreach (glob("path/*/*.{txt,md}", \GLOB_BRACE) as $filename) {
    echo "$filename\n";
}
?>Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
path/docs/mailinglist-rules.md path/docs/README.md path/docs/release-process.md path/pear/install-pear.txt path/Zend/README.md
Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.
Hinweis: Diese Funktion ist nicht auf allen Systemen verfügbar (z. B. alten Sun-OS-Versionen).
