glob
(PHP 4 >= 4.3.0, PHP 5)
glob — Recherche des chemins qui vérifient un masque
Description
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. Aucun remplacement de tilde (~) ou de paramètre n'est fait.
glob() retourne un tableau contenant les fichiers et les dossiers trouvés, un tableau vide si aucun fichier/dossier n'est trouvé ou FALSE en cas d'erreur.
Valeurs autorisées pour flags :
- GLOB_MARKAjoute un slash final à chaque élément retourné
- GLOB_NOSORT : Retourne les fichiers tant 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éta-caractère d'un anti-slash
-
GLOB_BRACE : Remplace {a,b,c} par 'a', 'b' ou 'c'
Note: Ce drapeau n'est pas disponible sur tous les systèmes GNU, comme Solaris.
-
GLOB_ONLYDIR : Ne retourne que les dossiers qui vérifient le masque
Note: Avant PHP 4.3.3 GLOB_ONLYDIR n'était pas disponible sur Windows et les systèmes qui n'utilisent pas la bibliothèque GNU C.
- GLOB_ERR : Stop lors d'une erreur (comme des dossiers non lisibles), par défaut, les erreurs sont ignorées. Ajouté en PHP 5.1.
Example#1 Un moyen pratique pour remplacer opendir() par glob()
<?php
$files = glob("*.txt");
foreach ($files as $filename) {
echo "$filename occupe " . filesize($filename) . " octets\n";
}
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
funclist.txt occupe 44686 octets funcsummary.txt occupe 267625 octets quickref.txt occupe 137820 octets
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).
Voir aussi opendir(), readdir(), closedir() et fnmatch().