(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — Recherche des chemins qui vérifient un masque
Description
glob(string
$pattern
, int
$flags
= 0): array|false
Liste de paramètres
-
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_MARK
: Ajoute un slash final (un antislash
sous Windows) à chaque dossier retourné
-
GLOB_NOSORT
: Retourne les fichiers dans l'ordre d'apparence (pas de tri).
Lorsque ce drapeau n'est pas utilisé, les noms des champs sont triés alphabétiquement
-
GLOB_NOCHECK
: Retourne le masque de recherche si aucun fichier n'a été trouvé
-
GLOB_NOESCAPE
: Ne protège aucun métacaractère d'un antislash
-
GLOB_BRACE
: Remplace {a,b,c} par 'a', 'b' ou 'c'
-
GLOB_ONLYDIR
: Ne retourne que les dossiers qui vérifient le masque
-
GLOB_ERR
: Stop lors d'une erreur (comme des dossiers non lisibles),
par défaut, les erreurs sont ignorées.
Note:
Le drapeau GLOB_BRACE
n'est pas disponible sur certains
systèmes non GNU, tel que Solaris ou Alpine Linux.
Valeurs de retour
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.
Exemples
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
Notes
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).
Voir aussi
- opendir() - Ouvre un dossier, et récupère un pointeur dessus
- readdir() - Lit une entrée du dossier
- closedir() - Ferme le pointeur sur le dossier
- fnmatch() - Teste un nom de fichier au moyen d'un masque de recherche