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
Les drapeaux valides sont :
GLOB_BRACE
(int)
Note:
GLOB_BRACE
n'est pas disponible sur certains systèmes non-GNU, comme Solaris ou Alpine Linux.
GLOB_ERR
(int)
GLOB_ONLYDIR
(int)
GLOB_MARK
(int)
GLOB_NOSORT
(int)
GLOB_NOCHECK
(int)
GLOB_NOESCAPE
(int)
GLOB_AVAILABLE_FLAGS
(int)
GLOB_*
combinés.
Équivalent à 0
| GLOB_BRACE
|
GLOB_MARK
| GLOB_NOSORT
|
GLOB_NOCHECK
| GLOB_NOESCAPE
|
GLOB_ERR
| GLOB_ONLYDIR
Note: Le drapeau
GLOB_BRACE
n'est pas disponible sur certains systèmes non GNU, tel que Solaris ou Alpine Linux.
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).