(PHP 4 >= 4.3.0, PHP 5)
glob — Acha caminhos que combinam com um padrão
$pattern
[, int $flags
] )
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.
pattern
O padrão. Não é feita nenhuma expansão de til ou substituição de parâmetros.
flags
Flags válidas:
GLOB_MARK
- Acrescenta uma barra a cada item retornado
GLOB_NOSORT
- Retorna os arquivos conforme
eles aparecem no diretório (sem ordenação)
GLOB_NOCHECK
- Retorna o padrão da busca
se nenhuma combinação de arquivo for encontrada
GLOB_NOESCAPE
- Barras invertidas não
escapam metacaracteres.
GLOB_BRACE
- Expande {a,b,c} para combinar
com 'a', 'b' ou 'c'
GLOB_ONLYDIR
- Retorna apenas diretórios que
combinem com o padrão
GLOB_ERR
- Pára em erros de leitura (como
diretórios que não podem ser lidos), por padrão os erros são
ignorados.
Retorna um array contendo os arquivos/diretórios que combinaram, um array
vazio se nenhum arquivo combinou ou FALSE
em caso de erro.
Nota:
Em alguns sistemas é impossível distinguir entre resultado vazio ou um errro.
Versão | Descrição |
---|---|
5.1.0 |
GLOB_ERR foi adicionado
|
4.3.3 |
GLOB_ONLYDIR tornou-se disponível no Windows e em
outros sistemas que não utilizam a biblioteca GNU C
|
Exemplo #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 irá imprimir algo similar à:
tamanho de funclist.txt 44686 tamanho de funcsummary.txt 267625 tamanho de quickref.txt 137820
Nota: Esta função não trabalha com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.
Nota: Esta função não está disponível em alguns sistemas (ex.: antigo Sun OS).
Nota: A flag
GLOB_BRACE
não está disponível em alguns sistemas não GNU, como Solaris.