glob

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

globAcha caminhos que combinam com um padrão

Descrição

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

A função glob() procura por todos os caminhos que combinem com o padrão pattern de acordo com as regras usadas pela função glob() da libc, que é semelhante às regras usadas por shells comuns.

Parâmetros

pattern

O padrão. Não é feita nenhuma expansão de til ou substituição de parâmetros.

Caracteres especiais:

  • * - Corresponde a zero ou mais caracteres.
  • ? - Corresponde a exatamente um caractere (qualquer caractere).
  • [...] - Corresponde a um caractere de um grupo de caracteres. Se o primeiro caractere for !, corresponde a qualquer caractere que não estiver no grupo.
  • \ - Faz escape no caractere seguinte, exceto quando a opção GLOB_NOESCAPE for usada.
flags

Opções válidas:

GLOB_BRACE (int)
Expande {a,b,c} para corresponder a 'a', 'b', ou 'c'

Note: GLOB_BRACE não está disponível em alguns sistemas não-GNU, como Solaris ou Alpine Linux.

GLOB_ERR (int)
Para em erros de leitura (como diretórios não legíveis), por padrão erros são ignorados.
GLOB_ONLYDIR (int)
Retorna somente entradas de diretório que correspondem ao padrão
GLOB_MARK (int)
Adiciona uma barra (ou barra invertida no Windows) para cada diretório retornado
GLOB_NOSORT (int)
Retorna os arquivos conforme aparecem no diretório (sem ordenação). Quando esta opção não é usada, os nomes são ordenados alfabeticamente.
GLOB_NOCHECK (int)
Retorna o padrão de busca se nenhum arquivo correspondente a ele for encontrado.
GLOB_NOESCAPE (int)
Barras invertidas não escapam meta-caracteres
GLOB_AVAILABLE_FLAGS (int)
Todas as opções GLOB_* combinadas. Equivalente a 0 | GLOB_BRACE | GLOB_MARK | GLOB_NOSORT | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_ERR | GLOB_ONLYDIR

Valor Retornado

Retorna um array contendo os arquivos/diretórios que corresponderam, um array vazio se nenhum arquivo correspondeu ou false em caso de erro.

Note:

Em alguns sistemas é impossível distinguir entre resultado vazio ou um erro.

Exemplos

Example #1 Modo conveniente de como glob() pode susbstituir opendir() e companhia.

<?php
foreach (glob("*.txt") as $arquivo) {
    echo "tamanho de $arquivo " . filesize($arquivo) . "\n";
}
?>

O exemplo acima produzirá algo semelhante a:

tamanho de funclist.txt 44686
tamanho de funcsummary.txt 267625
tamanho de quickref.txt 137820

Notas

Note: Esta função não funcionará em arquivos remotos, pois o arquivo a ser examinado deve ser acessível através do sistema de arquivos do servidor.

Note: Esta função não está disponível em alguns sistemas (ex.: antigo Sun OS).

Veja Também

  • opendir() - Abre um manipulador de diretório
  • readdir() - Lê entrada do manipulador do diretório
  • closedir() - Fecha o manipulador do diretório
  • fnmatch() - Compara nome de arquivo com um padrão