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 — Recherche des chemins qui vérifient un masque
glob() recherche tous les chemins qui vérifient
le masque pattern
, en suivant les règles utilisées par
la fonction glob()
de la libc, qui sont les mêmes que celles
utilisées par le Shell en général.
pattern
Le masque. Aucun remplacement de tilde
(~
) ou de paramètre n'est fait.
Caractères spéciaux :
*
- Associe zéro ou plus de caractères.
?
- Associe exactement un caractère (n'importe
quel caractère).
[...]
- Associe un caractère d'un ensemble de
caractères. Si le premier caractère est !
,
associe n'importe quel caractères pas dans cet ensemble.
\
- Échappe le caractère suivant, sauf quand le
drapeau GLOB_NOESCAPE
est utilisé.
flags
N'importe laquelle des constantes GLOB_*
.
Retourne un tableau contenant les fichiers et dossiers correspondant au
masque, un tableau vide s'il n'y a aucune correspondance, ou false
si
une erreur survient.
Note:
Sous certains systèmes, il est impossible de distinguer un masque vide d'une erreur.
Exemple #1 Un moyen pratique pour remplacer opendir() par glob()
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename occupe " . filesize($filename) . "\n";
}
?>
Résultat de l'exemple ci-dessus est similaire à :
funclist.txt occupe 44686 funcsummary.txt occupe 267625 quickref.txt occupe 137820
Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier examiné doit être accessible sur le système de fichiers du serveur.
Note: Cette fonction n'est pas disponible sur quelques systèmes (e.g. vieux Sun OS).