(PHP 4 >= 4.3.0, PHP 5, PHP 7)
glob — Recherche des chemins qui vérifient un masque
$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.
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).
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.
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.
Version | Description |
---|---|
5.1.0 |
GLOB_ERR a été ajouté
|
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
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.