glob
(PHP 4 >= 4.3.0, PHP 5)
glob — Encontrar nombres de ruta coincidentes con un patrón
Descripción
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.