Funkcia glob

Funkcia glob vyhľadáva súbory a adresáre, ktoré zodpovedajú zadanému vzoru. Do prvého parametra sa odovzdáva reťazec s vyhľadávacím vzorom. Druhý voliteľný parameter nastavuje príznaky na zmenu správania funkcie.

Syntax

phpglob(pattern, [flags]);

Príznaky

Príznak Popis
GLOB_MARK Pridáva lomku / ku každému vrátenému adresáru.
GLOB_NOSORT Vracia súbory v poradí, v akom sa nachádzajú v adresári (bez triedenia).
GLOB_NOCHECK Vracia vyhľadávací vzor, ak nebol nájdený žiadny zhodný súbor.
GLOB_NOESCAPE Spätné lomky neescapujú metasymboly.
GLOB_BRACE Rozbalí {a,b,c} pre vyhľadávanie podľa viacerých vzorov.
GLOB_ONLYDIR Vracia len adresáre, ktoré zodpovedajú vzoru.
GLOB_ERR Zastaviť pri chybách čítania (napríklad, žiadne práva na prístup).

Príklad

Nájdeme všetky súbory s príponou .txt v aktuálnom adresári:

php<?php
  $res = glob('*.txt');
  print_r($res);
?>

Výsledok vykonania kódu:

php['file1.txt', 'file2.txt', 'notes.txt']

Príklad

Nájdeme všetky súbory, ktoré začínajú na 'test' s ľubovoľnou príponou:

php<?php
  $res = glob('test*');
  print_r($res);
?>

Výsledok vykonania kódu:

php['test.php', 'test.txt', 'test_image.jpg']

Príklad

Použitie príznaku GLOB_BRACE na vyhľadávanie podľa viacerých vzorov:

php<?php
  $res = glob('*.{php,txt}', GLOB_BRACE);
  print_r($res);
?>

Výsledok vykonania kódu:

php['index.php', 'config.php', 'readme.txt']

Príklad

Vyhľadávanie súborov v podadresároch s použitím príznaku GLOB_RECURSE:

php<?php
  $res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
  print_r($res);
?>

Výsledok vykonania kódu:

php['index.php', 'lib/utils.php', 'admin/index.php']

Pozri tiež

  • funkciu scandir,
    ktorá číta obsah adresára
  • funkciu file_exists,
    ktorá kontroluje existenciu súboru
  • funkciu is_file,
    ktorá kontroluje súbor