Funzione glob
La funzione glob cerca file e directory corrispondenti a un pattern specificato.
Il primo parametro accetta una stringa con il pattern di ricerca.
Il secondo parametro opzionale imposta i flag per modificare il comportamento della funzione.
Sintassi
glob(pattern, [flags]);
Flag
| Flag | Descrizione |
|---|---|
GLOB_MARK |
Aggiunge uno slash / a ogni directory restituita. |
GLOB_NOSORT |
Restituisce i file nell'ordine in cui si trovano nella directory (senza ordinamento). |
GLOB_NOCHECK |
Restituisce il pattern di ricerca se non viene trovata alcuna corrispondenza. |
GLOB_NOESCAPE |
I backslash non escapano i metacaratteri. |
GLOB_BRACE |
Espande {a,b,c} per cercare con più pattern. |
GLOB_ONLYDIR |
Restituisce solo le directory corrispondenti al pattern. |
GLOB_ERR |
Si interrompe in caso di errori di lettura (ad esempio, permessi negati). |
Esempio
Troviamo tutti i file con estensione .txt nella directory corrente:
<?php
$res = glob('*.txt');
print_r($res);
?>
Risultato dell'esecuzione del codice:
['file1.txt', 'file2.txt', 'notes.txt']
Esempio
Troviamo tutti i file che iniziano con 'test' con qualsiasi estensione:
<?php
$res = glob('test*');
print_r($res);
?>
Risultato dell'esecuzione del codice:
['test.php', 'test.txt', 'test_image.jpg']
Esempio
Utilizzo del flag GLOB_BRACE per cercare con più pattern:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Risultato dell'esecuzione del codice:
['index.php', 'config.php', 'readme.txt']
Esempio
Ricerca di file nelle sottodirectory utilizzando il flag GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Risultato dell'esecuzione del codice:
['index.php', 'lib/utils.php', 'admin/index.php']
Vedi anche
-
la funzione
scandir,
che legge il contenuto di una directory -
la funzione
file_exists,
che verifica l'esistenza di un file -
la funzione
is_file,
che verifica un file