(PHP 4, PHP 5, PHP 7)
stat — Bir dosya hakkında bilgi döndürür
$dosyaismi
)
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.
dosyaismi
Dosyanın yolu.
İ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ı ** |
** 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.
Başarısızlık durumunda bir E_WARNING
çıktılanır.
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. |
Ö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...';
}
}
?>
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.
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 Supported Protocols and Wrappers başlığı altında bulabilirsiniz.