Benim ilk cevaptan son Yorumlarınız için yanıt. Ben kod örneği yazmak için gidiyorum, bu yüzden başka bir cevap yerine ek bir açıklama daha yarattık.
Özel uzantılı dosyaları kaldırmak için, kodu uygulamak zorunda:
<?php
$path = dirname(__FILE__).'/files';
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ((time()-filectime($path.'/'.$file)) < 86400) { // 86400 = 60*60*24
if (preg_match('/\.txt$/i', $file)) {
unlink($path.'/'.$file);
}
}
}
}
?>
Comment:. 1 Bu örnek, bir uzantıya sahip, sadece içerik txt
kaldırılması amacıyla, yani, normal ifade /\.txt$/i
kullanır. '$' Işareti anlamına gelir, bu dosya adı dize ile sona zorundadır '. Txt'. Bayrak 'i' gösterir, bu karşılaştırma harf duyarsız olacaktır. preg_match() fonksiyonu hakkında daha fazla.
Eğer belirli uzantılara sahip dosyaları aramak için strripos() işlevini kullanabilirsiniz yanında. İşte kod parçacığını:
<?php
$path = dirname(__FILE__).'/files';
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ((time()-filectime($path.'/'.$file)) < 86400) { // 86400 = 60*60*24
if (strripos($file, '.txt') !== false) {
unlink($path.'/'.$file);
}
}
}
}
?>
Comment: Bu örnek, daha belirgin görünüyor. strrpos(strtolower($file), '.txt')
, ama IMHO, onu daha okunabilir ve daha küçük yapmak için kodu daha az işlevleri kullanmak için iyi bir kural: strripos()
de bir iki fonksiyonları birleştirerek elde edilebilir Sonucu . () Function (dönüş değerleri blok) strripos ait sayfasında uyarı dikkatle okuyunuz.
One more important notice: UNIX sistemi kullanıyorsanız eğer, kaldırılması nedeniyle dosya dosya izinleri başarısız olabilir. Sen chmod() fonksiyonu hakkında kılavuzu kontrol edebilirsiniz.
İyi şanslar.