Функция glob
La función glob busca archivos y directorios que coincidan con un patrón dado.
El primer parámetro recibe una cadena con el patrón de búsqueda.
El segundo parámetro opcional establece banderas para modificar el comportamiento de la función.
Sintaxis
glob(pattern, [flags]);
Banderas
| Bandera | Descripción |
|---|---|
GLOB_MARK |
Añade una barra diagonal / a cada directorio devuelto. |
GLOB_NOSORT |
Devuelve los archivos en el orden en que se encuentran en el directorio (sin ordenar). |
GLOB_NOCHECK |
Devuelve el patrón de búsqueda si no se encuentra ninguna coincidencia. |
GLOB_NOESCAPE |
Las barras invertidas no escapan metacaracteres. |
GLOB_BRACE |
Expande {a,b,c} para buscar múltiples patrones. |
GLOB_ONLYDIR |
Devuelve solo directorios que coincidan con el patrón. |
GLOB_ERR |
Detenerse en errores de lectura (por ejemplo, sin permisos de acceso). |
Ejemplo
Busquemos todos los archivos con extensión .txt en el directorio actual:
<?php
$res = glob('*.txt');
print_r($res);
?>
Resultado de ejecutar el código:
['file1.txt', 'file2.txt', 'notes.txt']
Ejemplo
Busquemos todos los archivos que comiencen con 'test' con cualquier extensión:
<?php
$res = glob('test*');
print_r($res);
?>
Resultado de ejecutar el código:
['test.php', 'test.txt', 'test_image.jpg']
Ejemplo
Uso de la bandera GLOB_BRACE para buscar múltiples patrones:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Resultado de ejecutar el código:
['index.php', 'config.php', 'readme.txt']
Ejemplo
Búsqueda de archivos en subdirectorios usando la bandera GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Resultado de ejecutar el código:
['index.php', 'lib/utils.php', 'admin/index.php']
Ver también
-
la función
scandir,
que lee el contenido de un directorio -
la función
file_exists,
que comprueba la existencia de un archivo -
la función
is_file,
que comprueba un archivo