stat
  (PHP 4, PHP 5, PHP 7, PHP 8)
stat — Bir dosya hakkında bilgi döndürür
  
  
 
  Açıklama
  
  
  
   lstat(), sembolik bağların durumunu döndürmesi dışında
   stat() işlevine eşdeğerdir.
  
  
 
  Bağımsız Değişkenler
  
   
    
     - dosyaismi
- 
      
       Dosyanın yolu.
       
 
 
  Dönen Değerler
  
   
    stat() and fstat() sonuç
    biçemi
    
     
      
       | İndis | Anahtar | Açıklama | 
     
     
      
       | 0 | dev | aygıt numarası *** | 
      
       | 1 | ino | dosya düğümü numarası **** | 
      
       | 2 | mode | dosya düğümü koruma kipi ***** | 
      
       | 3 | nlink | bağ sayısı | 
      
       | 4 | uid | sahibinin kullanıcı kimliği * | 
      
       | 5 | gid | sahibinin grup kimliği * | 
      
       | 6 | rdev | dosya düğümü aygıtı ise aygıt türü | 
      
       | 7 | size | bayt sayısı | 
      
       | 8 | atime | son erişim zamanı (Unix zaman damgası) | 
      
       | 9 | mtime | son değişiklik zamanı (Unix zaman damgası) | 
      
       | 10 | ctime | dosya düğümü son değişiklik zamanı (Unix zaman damgası) | 
      
       | 11 | blksize | dosya sisteminin G/Ç blok boyu ** | 
      
       | 12 | blocks | ayrılmış 512 baytlık blokların sayısı ** | 
     
    
   
  
  
   * Windows üzerinde daima 0'dır.
  
  
   ** Sadece st_blksize türünü destekleyen sistemlerde geçerlidir;
   diğer sistemlerde (Windows gibi) -1 döner.
  
  
   *** PHP 7.4.0 öncesinde, Windows üzerinde, bu  dosyayı içeren birimin 64
   bitlik işaretsiz bir tam sayı olarak seri numarasıdır,
   bu nedenle taşabilir. Önceden, sürücü harfinin sayısal karşılığıydı
   (örneğin, C: sürücüsü stat() için 2
   ve lstat() için 0 idi).
  
  
   **** PHP 7.4.0 öncesinde, Windows üzerinde, bu, 64 bitlik
   işaretsiz bir tam sayı olarak dosyayla ilişkili
   tanımlayıcıdır, bu nedenle taşabilir. Önceden her zaman
   0 idi.
  
  
   ***** Windows'ta, yazılabilir izin biti, salt-okunur yapılır ve tüm
   kullanıcılar, grup ve sahip için aynı değer kullanılır.
   is_writable() işlevinin aksine ACL dikkate alınmaz.
  
  
   Çeşitli işlevler tarafından okunan bilgileri içeren kip
   değeri. Sekizlik olarak yazıldığında, sağdan başlayarak, ilk üç hane
   chmod() tarafından döndürülür. Sonraki basamak PHP
   tarafından yok sayılır. Sonraki iki hane dosya türünü gösterir:
   
    kip dosya türleri
    
     
      
       | Sekizlik kip | Anlamı | 
     
     
      
       | 0140000 | soket | 
      
       | 0120000 | bağ | 
      
       | 0100000 | normal dosya | 
      
       | 0060000 | blok aygıtı | 
      
       | 0040000 | dizin | 
      
       | 0020000 | karakter aygıtı | 
      
       | 0010000 | fifo | 
     
    
   
   Dolayısıyla, örneğin, normal bir dosyanın kipi 
0100644
   iken dizin için 
0040755 olur.
  
  
   Hata durumunda, stat() false döndürür.
  
  Bilginize: 
PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik
tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri
2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.
  
 
  Hatalar/İstisnalar
  
   Başarısızlık durumunda bir E_WARNING çıktılanır.
  
  
 
 
  Örnekler
  
   
    Örnek 1 - stat() örneği
    
<?php
/* Dosya durumunu alalım */
$stat = stat('C:\php\php.exe');
/*
 * Dosya erişim zamanını basalım.
 * Bu, fileatime() çağrısına eşdeğerdir.
 */
echo 'Erişim zamanı: ' . $stat['atime'];
/*
 * Dosya değişiklik zamanını basalım.
 * Bu, filemtime() çağrısına eşdeğerdir.
 */
echo 'Değişiklik zamanı: ' . $stat['mtime'];
/* Aygıt numarasını basalım */
echo 'Aygıt numarası: ' . $stat['dev'];
     
    
  
  
   
    Örnek 2 - stat() bilgisinin touch()
    ile birlikte kullanımı
    
<?php
/* Dosya durumunu alalım */
$stat = stat('C:\php\php.exe');
/* Bilgiyi alırken başarısız olduk mu? */
if(!$stat) {
    echo 'Stat çağrısı başarısız oldu...';
} else {
    /*
     * Mevcut erişim zamanı 1 hafta öncesi olsun
     */
    $atime = $stat['atime'] + 604800;
    /* Dosyaya dokunalım */
    if (!touch('some_file.txt', time(), $atime)) {
        echo 'Dosyaya erişilemedi...';
    } else {
        echo 'Dosyaya başarıyla erişildi...';
    }
}
?>
     
    
  
  
 
  Notlar
  Bilginize: 
Zaman çözünürlüğünün dosya
sistemine göre farklı olabileceğini unutmayın.
  Bilginize: 
Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi
clearstatcache() işlevinde bulunabilir.
  İpucu
PHP 5.0.0 sürümünden itibaren
bu işlev bazı URL sarmalayıcıları ile
kullanılabilmektedir. stat() ailesini destekleyen
sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında
bulunabilir.
 
  
 
  Ayrıca Bakınız
  
   
    - lstat() - Bir dosya veya sembolik bağ hakkında bilgi verir
- fstat() - Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi
  döndürür
- filemtime() - Dosyanın değişiklik zamanını döndürür
- filegroup() - Dosyanın sahibi olan grubu döndürür
- SplFileInfo