glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

globBir kalıpla eşleşen dosya yollarını bulur

Açıklama

glob(string $kalıp, int $seçenekler = 0): array|false

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.

Bağımsız Değişkenler

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_MARK - Dönen her dizine bir bölü çizgisi ekler (Windows üzerinde ters bölü çizgisi ekler).
  • GLOB_NOSORT - Dosyaları dizinde göründükleri sırayla döndürür (sıralamaz). Bu seçenek kullanılmadığında dosya yolları abecesel sıralanır.
  • GLOB_NOCHECK - Hiçbir eşleşme bulunamazsa arama kalıbını döndürür.
  • GLOB_NOESCAPE - Tersbölüler denetim karakterlerini öncelemez.
  • GLOB_BRACE - {a,b,c} kalıbını 'a', 'b', veya 'c' ile eşleşecek şekilde genişletir.
  • GLOB_ONLYDIR - Sadece kalıpla eşleşen dizinleri döndürür.
  • GLOB_ERR - Okuma hatalarında işlemi durdurur (okunamayan dizinler gibi); öntanımlı olarak hatalar yoksayılır.

Bilginize: GLOB_BRACE seçeneği Alpine Linux veya Solaris gibi GNU olmayan sistemlerde kullanılamıyor.

Dönen Değerler

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.

Örnekler

Ö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

Notlar

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).

Ayrıca Bakınız

  • opendir() - Belirtilen dizin için bir tanıtıcı döndürür
  • readdir() - Dizinden bir girdinin ismini okur
  • closedir() - Dizin tanıtıcısını kapatır
  • fnmatch() - Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar