glob Fonksiyonu
glob fonksiyonu, belirtilen kalıpla eşleşen dosya ve dizinleri arar.
İlk parametreye arama kalıbını içeren bir dize iletilir.
İkinci isteğe bağlı parametre, fonksiyonun davranışını değiştirmek için bayraklar belirtir.
Sözdizimi
glob(pattern, [flags]);
Bayraklar
| Bayrak | Açıklama |
|---|---|
GLOB_MARK |
Döndürülen her dizine bir eğik çizgi / ekler. |
GLOB_NOSORT |
Dosyaları dizinde bulundukları sırayla döndürür (sıralama yapılmadan). |
GLOB_NOCHECK |
Hiç eşleşme bulunamazsa arama kalıbını döndürür. |
GLOB_NOESCAPE |
Ters eğik çizgiler metakarakterleri kaçırmaz. |
GLOB_BRACE |
Birden fazla kalıp araması için {a,b,c} ifadesini genişletir. |
GLOB_ONLYDIR |
Yalnızca kalıpla eşleşen dizinleri döndürür. |
GLOB_ERR |
Okuma hatalarında durur (örneğin, erişim izni yoksa). |
Örnek
Mevcut dizindeki .txt uzantılı tüm dosyaları bulalım:
<?php
$res = glob('*.txt');
print_r($res);
?>
Kodun çalıştırılmasının sonucu:
['file1.txt', 'file2.txt', 'notes.txt']
Örnek
'test' ile başlayan ve herhangi bir uzantıya sahip tüm dosyaları bulalım:
<?php
$res = glob('test*');
print_r($res);
?>
Kodun çalıştırılmasının sonucu:
['test.php', 'test.txt', 'test_image.jpg']
Örnek
Birden fazla kalıp araması için GLOB_BRACE bayrağının kullanımı:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Kodun çalıştırılmasının sonucu:
['index.php', 'config.php', 'readme.txt']
Örnek
GLOB_RECURSE bayrağı kullanılarak alt dizinlerdeki dosyaların aranması:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Kodun çalıştırılmasının sonucu:
['index.php', 'lib/utils.php', 'admin/index.php']
Ayrıca Bakınız
-
scandirfonksiyonu,
bir dizinin içeriğini okur -
file_existsfonksiyonu,
bir dosyanın varlığını kontrol eder -
is_filefonksiyonu,
bir dosyayı kontrol eder