Include dotfiles excluding . and .. special dirs with .[!.]*
<?php
$all_files = array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files = glob('{.[!.],}*', GLOB_BRACE);
?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — Acha caminhos que combinam com um padrão
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.
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
Umas das constantes GLOB_*
.
Retorna um array contendo os arquivos/diretórios que corresponderam, um array
vazio se nenhum arquivo correspondeu ou false
em caso de erro.
Nota:
Em alguns sistemas é impossível distinguir entre resultado vazio ou um erro.
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 produzirá algo semelhante a:
tamanho de funclist.txt 44686 tamanho de funcsummary.txt 267625 tamanho de quickref.txt 137820
Nota: 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.
Nota: Esta função não está disponível em alguns sistemas (ex.: antigo Sun OS).