stat

(PHP 4, PHP 5, PHP 7)

statBir dosya hakkında bilgi döndürür

Açıklama

stat ( string $dosyaismi ) : array

dosyaismi ile belirtilen dosyanın istatistiklerini toplar. Eğer dosyaismi bir sembolik bağ ise istatistikler bağ dosyasından değil hedefinden toplanır.

lstat(), sembolik bağların durumunu döndürmesi dışında stat() işlevine eşdeğerdir.

Değiştirgeler

dosyaismi

Dosyanın yolu.

Dönen Değerler

stat() and fstat() sonuç biçemi
İndis Anahtar (PHP 4.0.6'dan beri) 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.

Hata durumunda stat() FALSE döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: Açıklama
4.0.6 Bu özniteliklerin sayısal indisli bir dizi içinde döndürülmesi yanında bunlara anahtarlar isimleri olarak da erişilebilir oldu.

Ö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ını 1 hafta öncesi olarak isteyelim
     */
    
$atime $stat['atime'] + 604800;

    
/* Dosyaya erişelim */
    
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 edinmek için clearstatcache() işlevine bakınız.

İ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 listesini Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulabilirsiniz.

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