glob
(PHP 4 >= 4.3.0, PHP 5)
glob — Recherche des chemins qui vérifient un masque
Description
$pattern
[, int $flags
= 0
] )
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.
Liste de paramètres
-
pattern
-
Le masque. Aucun remplacement de tilde (~) ou de paramètre n'est fait.
-
flags
-
Les drapeaux valides sont :
-
GLOB_MARK
: Ajoute un slash final à chaque dossier retourné -
GLOB_NOSORT
: Retourne les fichiers dans l'ordre d'apparence (pas de tri) -
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.
-
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.
Historique
Version | Description |
---|---|
5.1.0 |
GLOB_ERR a été ajouté
|
4.3.3 |
GLOB_ONLYDIR devient disponible sous Windows ainsi que
sur les autres systèmes n'utilisant pas la bibliothèque GNU C.
|
Exemples
Exemple #1 Un moyen pratique pour remplacer opendir() par glob()
<?php foreach (glob("*.txt") as $filename) { echo "$filename occupe " . filesize($filename) . "\n"; } ?>
L'exemple ci-dessus va afficher quelque chose de 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 utilisé doit être accessible sur le système de fichiers local.
Note: Cette fonction n'est pas disponible sur quelques systèmes (e.g. vieux Sun OS).
Note: Le drapeau
GLOB_BRACE
n'est pas disponible sur quelques systèmes non GNU, comme Solaris.
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() - Repère un fichier à partir d'un masque de recherche