PHP 8.4.1 Released!

glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

globBuscar coincidencias de nombres de ruta con un patrón

Descripción

glob(string $pattern, int $flags = 0): array

La función glob() busca todos los nombres de ruta que coinciden con pattern según las reglas usadas por la función glob() de la biblioteca estándar de C, las cuales son similares a las reglas usadas por intérpretes de comandos comunes.

Parámetros

pattern

El patrón. No se realiza la expansión de tilde o la sustitución de parámetro.

flags

Banderas válidas:

  • GLOB_MARK - Añade un barra a cada directorio devuelto
  • GLOB_NOSORT - Devuelve los ficheros tal como aparecen en el directorio (sin ordenar). Cuando no se emple este indicador, los parámetros se ordenan alfabéticamente
  • GLOB_NOCHECK - Devuelve el patrón de búsqueda si no se encontraron ficheros coincidentes
  • GLOB_NOESCAPE - Las barras invertidas no escapan meta-caracteres
  • GLOB_BRACE - Expande {a,b,c} para coincidir con 'a', 'b', o 'c'
  • GLOB_ONLYDIR - Devuelve sólo entradas de directorio que coinciden con el patrón
  • GLOB_ERR - Se detiene si se produjeron errores de lectura (como directorios ilegibles), por defecto los errores son ignorados.

Valores devueltos

Devuelve una matriz que contiene los ficheros/directorios coincidentes, una matriz vacía si no hubo ficheros coincidentes o false si se produjo un error.

Nota:

En algunos sistemas es imposible distinguir entre una coincidencia vacía y un error.

Historial de cambios

Versión Descripción
5.1.0 Se añadió GLOB_ERR

Ejemplos

Ejemplo #1 Manera conveniente de cómo glob() puede remplazar a opendir() y similares.

<?php
foreach (glob("*.txt") as $nombre_fichero) {
echo
"Tamaño de $nombre_fichero " . filesize($nombre_fichero) . "\n";
}
?>

El resultado del ejemplo sería algo similar a:

Tamaño de funclist.txt 44686
Tamaño de funcsummary.txt 267625
Tamaño de quickref.txt 137820

Notas

Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.

Nota: Está función no está disponible en algunos sistemas (p.ej. antiguos sistemas operativos de Sun).

Nota: La bandera GLOB_BRACE no está disponible en algunos sistemas que no son GNU, como Solaris.

Ver también

  • opendir() - Abre un gestor de directorio
  • readdir() - Lee una entrada desde un gestor de directorio
  • closedir() - Cierra un gestor de directorio
  • fnmatch() - Compara un nombre de fichero con un patrón

add a note

User Contributed Notes 1 note

up
4
Anonymous
3 years ago
Include dotfiles excluding . and .. special dirs with .[!.]*

<?php
$all_files
= array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files = glob('{.[!.],}*', GLOB_BRACE);
?>
To Top