glob-funktio
glob-funktio etsii tiedostoja ja hakemistoja, jotka vastaavat annettua mallia.
Ensimmäiseen parametriin välitetään merkkijono haku mallilla.
Toinen valinnainen parametri asettaa liput funktion käyttäytymisen muuttamiseksi.
Syntaksi
glob(pattern, [flags]);
Liput
| Lippu | Kuvaus |
|---|---|
GLOB_MARK |
Lisää kauttaviivan / jokaiseen palautettuun hakemistoon. |
GLOB_NOSORT |
Palauttaa tiedostot siinä järjestyksessä kuin ne ovat hakemistossa (ilman lajittelua). |
GLOB_NOCHECK |
Palauttaa haun mallin, jos yhtään osumaa ei löydy. |
GLOB_NOESCAPE |
Kenoakauttaviivat eivät escapeta metasymboleja. |
GLOB_BRACE |
Laajentaa {a,b,c} useiden mallien haulle. |
GLOB_ONLYDIR |
Palauttaa vain mallia vastaavat hakemistot. |
GLOB_ERR |
Pysähtyy lukuvirheissä (esim. ei käyttöoikeutta). |
Esimerkki
Etsitään kaikki tiedostot, joiden tiedostopääte on .txt nykyisessä hakemistossa:
<?php
$res = glob('*.txt');
print_r($res);
?>
Koodin suorituksen tulos:
['file1.txt', 'file2.txt', 'notes.txt']
Esimerkki
Etsitään kaikki tiedostot, jotka alkavat sanalla 'test' millä tahansa tiedostopäätteellä:
<?php
$res = glob('test*');
print_r($res);
?>
Koodin suorituksen tulos:
['test.php', 'test.txt', 'test_image.jpg']
Esimerkki
GLOB_BRACE-lipun käyttäminen useiden mallien haulle:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Koodin suorituksen tulos:
['index.php', 'config.php', 'readme.txt']
Esimerkki
Tiedostojen etsiminen alihakemistoista käyttämällä GLOB_RECURSE-lippua:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Koodin suorituksen tulos:
['index.php', 'lib/utils.php', 'admin/index.php']
Katso myös
-
funktion
scandir,
joka lukee hakemiston sisällön -
funktion
file_exists,
joka tarkistaa tiedoston olemassaolon -
funktion
is_file,
joka tarkistaa tiedoston