(PHP 4 >= 4.3.0, PHP 5)
glob — Busca coincidencias de nombres de ruta con un patrón
$pattern
[, int $flags
= 0
] )
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.
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 archivos mientras aparecen en el
directorio (sin ordenar)
GLOB_NOCHECK
- Devuelve el patrón de búsqueda si no
se encontraron archivos 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.
Devuelve una matriz que contiene los archivos/directorios coincidentes, una matriz vacía
si no hubo archivos coincidentes o FALSE
si se produjo un error.
Nota:
En algunos sistemas es imposible distinguir entre una coincidencia vacía y un error.
Versión | Descripción |
---|---|
5.1.0 |
Se añadió GLOB_ERR
|
4.3.3 |
GLOB_ONLYDIR ahora está disponible en Windows y
otros sistemas que no usan la biblioteca C GNU
|
Ejemplo #1 Manera conveniente de cómo glob() puede remplazar a opendir() y similares.
<?php
foreach (glob("*.txt") as $nombre_archivo) {
echo "Tamaño de $nombre_archivo " . filesize($nombre_archivo) . "\n";
}
?>
El resultado del ejemplo sería algo similar a:
funclist.txt size 44686 funcsummary.txt size 267625 quickref.txt size 137820
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.