PHP'de dosya ve dizin işlemleri için kullanılan stat()
, fstat()
, ve clearstatcache()
fonksiyonlarını aşağıdaki örneklerle inceleyebilirsiniz:
-
stat()
- Dosya veya Dizin İstatistiklerini Alma: Bu fonksiyon, bir dosya veya dizin hakkında geniş istatistik bilgilerini içeren bir dizi döndürür.<?php $dosyaYolu = "dosya.txt"; $dosyaIstatistikleri = stat($dosyaYolu); // İstatistikler dizisinden örneğin dosyanın boyutunu alabiliriz $dosyaBoyutu = $dosyaIstatistikleri['size']; echo "Dosya Boyutu: " . $dosyaBoyutu . " bayt"; ?>
-
fstat()
- Dosya Tanıtıcısına Göre İstatistikler: Bu fonksiyon, bir dosya tanıtıcısına (file handle) dayalı olarak dosya hakkında istatistik bilgilerini içeren bir dizi döndürür.fopen()
gibi fonksiyonlarla dosya açtığınızda kullanışlıdır.<?php $dosya = fopen("dosya.txt", "r"); $dosyaIstatistikleri = fstat($dosya); // İstatistikler dizisinden örneğin dosyanın değiştirilme zamanını alabiliriz $degistirilmeZamani = $dosyaIstatistikleri['ctime']; echo "Dosyanın Değiştirilme Zamanı: " . date("Y-m-d H:i:s", $degistirilmeZamani); // Dosyayı kapatmayı unutmayın fclose($dosya); ?>
-
clearstatcache()
- İstatistik Önbelleğini Temizleme: Bu fonksiyon, dosya ve dizin istatistiklerini önbellekte tutan bilgileri temizler. Önbellek, aynı dosya için birden fazla istatistik sorgulamasında kullanılır ve bazen güncellenmeyebilir. Bu fonksiyon, önbelleği temizleyerek güncel bilgileri almanızı sağlar.<?php $dosyaYolu = "dosya.txt"; // İlk istatistik sorgulaması $dosyaIstatistikleri1 = stat($dosyaYolu); echo "Dosya Boyutu (İlk Sorgu): " . $dosyaIstatistikleri1['size'] . " bayt<br>"; // Dosya içeriğini güncelledik veya değiştirdik // İkinci istatistik sorgulaması (eski bilgileri kullanır, önbellekten alınabilir) $dosyaIstatistikleri2 = stat($dosyaYolu); echo "Dosya Boyutu (İkinci Sorgu, Önbellekten): " . $dosyaIstatistikleri2['size'] . " bayt<br>"; // İstatistik önbelleğini temizleyerek güncel bilgileri alıyoruz clearstatcache(); // Üçüncü istatistik sorgulaması (güncel bilgileri alır) $dosyaIstatistikleri3 = stat($dosyaYolu); echo "Dosya Boyutu (Üçüncü Sorgu, Güncel): " . $dosyaIstatistikleri3['size'] . " bayt"; ?>
Bu fonksiyonlar, dosya ve dizin işlemlerinde daha fazla kontrol sağlamak için kullanılır ve özellikle dosya istatistiklerine erişim sağlamak için kullanışlıdır.