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 — Búsqueda de rutas que coinciden con un patrón
   glob() busca todas las rutas que coinciden con
   el patrón pattern, siguiendo las reglas utilizadas por
   la función glob() de la libc, que son las mismas que las
   utilizadas por el Shell en general.
  
   El comportamiento en sistemas Unix y macOS está determinado por
   la implementación de glob() del sistema. En Windows, se utiliza una
   implementación conforme a la definición POSIX 1003.2 de glob(), con
   una extensión para manejar la convención [!...] que permite
   negar un rango.
  
pattern
       El patrón. No se realiza sustitución de tilde
       (~) ni de parámetro.
      
Caracteres especiales:
* - Asocia cero o más caracteres.
         
        ? - Asocia exactamente un carácter (cualquier
          carácter).
         
        [...] - Asocia un carácter de un conjunto de
          caracteres. Si el primer carácter es !,
          asocia cualquier carácter que no esté en este conjunto.
         
        {a,b,c} - Asocia una cadena de un grupo de
          cadenas separadas por comas cuando se utiliza el flag
          GLOB_BRACE.
         
        \ - Escapa el carácter siguiente, excepto cuando
          se utiliza el flag GLOB_NOESCAPE.
         
        flags
       Cualquiera de las constantes GLOB_*.
      
   Devuelve un array que contiene los ficheros y directorios que coinciden con
   el patrón, un array vacío si no hay coincidencias, o false si ocurre un error.
   A menos que se utilice GLOB_NOSORT, los nombres serán ordenados
   alfabéticamente.
  
Ejemplo #1 Un método práctico para reemplazar opendir() por glob()
<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename ocupa " . filesize($filename) . "\n";
}
?>Resultado del ejemplo anterior es similar a:
funclist.txt ocupa 44686 funcsummary.txt ocupa 267625 quickref.txt ocupa 137820
Ejemplo #2 Ejemplo con un patrón más complejo
<?php
foreach (glob("path/*/*.{txt,md}", \GLOB_BRACE) as $filename) {
    echo "$filename\n";
}
?>Resultado del ejemplo anterior es similar a:
path/docs/mailinglist-rules.md path/docs/README.md path/docs/release-process.md path/pear/install-pear.txt path/Zend/README.md
Nota: Esta función no funciona con los archivos remotos, ya que el archivo examinado debe ser accesible en el sistema de archivos del servidor.
Nota: Esta función no está disponible en algunos sistemas (por ejemplo, viejos Sun OS).
