Include dotfiles excluding . and .. special dirs with .[!.]*
<?php
$all_files = array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files = glob('{.[!.],}*', GLOB_BRACE);
?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — Bir kalıpla eşleşen dosya yollarını bulur
glob() işlevi, dosya yollarını, kabuklarda kullanılana
benzer şekilde, libc glob() işlevi tarafından kullanılan kurallara uygun
olarak belli bir kalıp
ile eşleştirmeye çalışır.
kalıp
Dosya eşleştirme kalıbı. Yaklaşık (~) veya bağımsız değişken yorumlaması yapılmaz.
Özel karakterler:
*
- Sıfır veya daha fazla karakterle eşleşir.
?
- Tek bir karakterle eşleşir (herhangi bir
karakter).
[...]
- Bir karakter grubundaki tek bir karakter
ile eşleşir. İlk karakter !
ise eşleşme grupta
olmayan bir karakterle gerçekleşir.
\
- GLOB_NOESCAPE
seçeneği
etkin değilse önündeki karakteri önceler.
seçenekler
Geçerli seçenekler:
GLOB_BRACE
(int)
Bilginize:
GLOB_BRACE
Solaris, Alpine Linux gibi bazı GNU sistemlerinde kullanılamaz.
GLOB_ERR
(int)
GLOB_ONLYDIR
(int)
GLOB_MARK
(int)
GLOB_NOSORT
(int)
GLOB_NOCHECK
(int)
GLOB_NOESCAPE
(int)
GLOB_AVAILABLE_FLAGS
(int)
GLOB_*
seçenekleri
VEYAlanamaz. Bunlar 0
'a eşdeğerdir:
GLOB_BRACE
|
GLOB_MARK
| GLOB_NOSORT
|
GLOB_NOCHECK
| GLOB_NOESCAPE
|
GLOB_ERR
| GLOB_ONLYDIR
Eşleşen dosya ve dizinleri içeren bir dizi döndürür. Bir eşleşme
bulunamazsa veya hata oluşursa false
döndürür.
Bilginize:
Bazı sistemlerde boş eşleşme ile hata durumunu ayrımsamak mümkün değildir.
Örnek 1 glob() işlevini opendir() ve arkadaşları ile değiştirmenin uygun yolu
<?php
foreach (glob("*.txt") as $dosya) {
echo "$dosya boyu " . filesize($dosya) . "\n";
}
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
funclist.txt boyu 44686 funcsummary.txt boyu 267625 quickref.txt boyu 137820
Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.
Bilginize: Bu işlevi bazı sistemlerde kullanamazsınız (örneğin, eski Sun OS'lar).