Funcția glob
Funcția glob caută fișiere și directoare care corespund modelului dat.
În primul parametru este transmis un șir de caractere cu modelul de căutare.
Al doilea parametru opțional stabilește steaguri pentru modificarea comportamentului funcției.
Sintaxă
glob(pattern, [flags]);
Steaguri
| Steag | Descriere |
|---|---|
GLOB_MARK |
Adaugă slash / la fiecare director returnat. |
GLOB_NOSORT |
Întoarce fișierele în ordinea în care se află în director (fără sortare). |
GLOB_NOCHECK |
Întoarce modelul de căutare, dacă nu s-a găsit nici o coincidență. |
GLOB_NOESCAPE |
Backslash-urile nu escapată metasimbolurile. |
GLOB_BRACE |
Deschide {a,b,c} pentru căutare după mai multe modele. |
GLOB_ONLYDIR |
Întoarce doar directoarele care corespund modelului. |
GLOB_ERR |
Se oprește la erori de citire (de exemplu, nu există drepturi de acces). |
Exemplu
Să găsim toate fișierele cu extensia .txt în directorul curent:
<?php
$res = glob('*.txt');
print_r($res);
?>
Rezultatul executării codului:
['file1.txt', 'file2.txt', 'notes.txt']
Exemplu
Să găsim toate fișierele care încep cu 'test' cu orice extensie:
<?php
$res = glob('test*');
print_r($res);
?>
Rezultatul executării codului:
['test.php', 'test.txt', 'test_image.jpg']
Exemplu
Utilizarea steagului GLOB_BRACE pentru căutare după mai multe modele:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Rezultatul executării codului:
['index.php', 'config.php', 'readme.txt']
Exemplu
Căutarea fișierelor în subdirectoare cu utilizarea steagului GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Rezultatul executării codului:
['index.php', 'lib/utils.php', 'admin/index.php']
Vedeți și
-
funcția
scandir,
care citește conținutul directorului -
funcția
file_exists,
care verifică existența fișierului -
funcția
is_file,
care verifică fișierul