Fonction glob
La fonction glob recherche les fichiers et répertoires correspondant à un motif donné.
Le premier paramètre est une chaîne de caractères contenant le motif de recherche.
Le second paramètre optionnel définit des drapeaux pour modifier le comportement de la fonction.
Syntaxe
glob(pattern, [flags]);
Drapeaux
| Drapeau | Description |
|---|---|
GLOB_MARK |
Ajoute un slash / à chaque répertoire retourné. |
GLOB_NOSORT |
Retourne les fichiers dans l'ordre dans lequel ils se trouvent dans le répertoire (sans tri). |
GLOB_NOCHECK |
Retourne le motif de recherche si aucune correspondance n'est trouvée. |
GLOB_NOESCAPE |
Les backslashes n'échappent pas les métacaractères. |
GLOB_BRACE |
Développe {a,b,c} pour rechercher plusieurs motifs. |
GLOB_ONLYDIR |
Retourne uniquement les répertoires correspondant au motif. |
GLOB_ERR |
S'arrêter en cas d'erreurs de lecture (par exemple, absence de droits d'accès). |
Exemple
Trouvons tous les fichiers avec l'extension .txt dans le répertoire courant :
<?php
$res = glob('*.txt');
print_r($res);
?>
Résultat de l'exécution du code :
['file1.txt', 'file2.txt', 'notes.txt']
Exemple
Trouvons tous les fichiers commençant par 'test' avec n'importe quelle extension :
<?php
$res = glob('test*');
print_r($res);
?>
Résultat de l'exécution du code :
['test.php', 'test.txt', 'test_image.jpg']
Exemple
Utilisation du drapeau GLOB_BRACE pour rechercher plusieurs motifs :
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Résultat de l'exécution du code :
['index.php', 'config.php', 'readme.txt']
Exemple
Recherche de fichiers dans les sous-répertoires en utilisant le drapeau GLOB_RECURSE :
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Résultat de l'exécution du code :
['index.php', 'lib/utils.php', 'admin/index.php']
Voir aussi
-
la fonction
scandir,
qui lit le contenu d'un répertoire -
la fonction
file_exists,
qui vérifie l'existence d'un fichier -
la fonction
is_file,
qui vérifie un fichier