Forum und email

glob

(PHP 4 >= 4.3.0, PHP 5)

glob — Encontrar nombres de ruta coincidentes con un patrón

Descripción

array glob ( string $patron [, int $banderas ] )

La función glob() realiza una búsqueda por todos los nombres de ruta que coincidan con patron de acuerdo a las reglas usadas por la función glob() de la biblioteca de C, las cuales son muy similares a las reglas usadas por intérpretes de comandos comunes.

Lista de parámetros

patron

El patrón. No se realiza expansión de tildes o substitución de parámetros.

banderas

Banderas válidas:

  • GLOB_MARK - Agrega una barra a cada elemento devuelto
  • GLOB_NOSORT - Devuelve los archivos como aparecen en el directorio (sin ordenar)
  • GLOB_NOCHECK - Devuelve el patrón de búsqueda si no se han encontrado archivos coincidentes
  • GLOB_NOESCAPE - Las barras invertidas no son usadas para escapar metacaracteres
  • GLOB_BRACE - Expande {a,b,c} para que coincida con 'a', 'b', o 'c'
  • GLOB_ONLYDIR - Devuelve únicamente entradas de directorios que coinciden con el patrón
  • GLOB_ERR - Detenerse en errores de lectura (como directorios inaccesibles), los errores son ignorados por omisión.

Valores retornados

Devuelve una matriz que contiene los archivos/directorios coincidentes, una matriz vacía si ningún archivo coincide o FALSE si ocurre un error.

Registro de cambios

Versión Descripción
5.1.0 Se agregó GLOB_ERR
4.3.3 GLOB_ONLYDIR se hizo disponible en Windows y otros sistemas que no usan la biblioteca de C GNU

Ejemplos

Example#1 Modo conveniente de reemplazar opendir() y amigos con glob().

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

El resultado del ejemplo seria algo similar a:

funclist.txt tamaño 44686
funcsummary.txt tamaño 267625
quickref.txt tamaño 137820

Notes

Note: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Note: Esta función no se encuentra disponible en algunos sistemas (p.ej. viejos sistemas operativos Sun).

Note: La bandera GLOB_BRACE no se encuentra disponible en algunos sistema no-GNU, como Solaris.