• 15-03-2020, 21:35:25
    #1
    Merhabalar öncelikle iyi forumlar diliyorum ufak bi sorunum var kendim bildiğim kadarıyla çözmeye çalıştım fakat başarılı olamadım, yazılımın çalıştığı dizindeki örneğin 1.42 kb boyutundaki tüm dosyaları silmesini istiyorum yardımcı olursanız sevinirim.
  • 15-03-2020, 21:43:07
    #2
    Selam,

    Önce klasik olan, dizin listeleme işlemini yapmalısınız.

    <?php
    $files = scandir(".");
    foreach ($files as $file) {
    $fsize = filesize($file);
    if ($fsize>100000 && $fsize<102400) {
    unlink($file)
    }
    echo "$file---$fsize<br />";
    }
    ?>


    filesize size byte olarak değer döndürür. 100kb için 102400 değer verir. direk 100kb silmek için $fsize=102400 yapabilirsiniz. benim yaptığım 99.X ve 100kb araasında olanları siler.
  • 15-03-2020, 21:43:48
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar

    1. scandir ya da readdir https://stackoverflow.com/questions/...-directory-php

    2. https://www.php.net/manual/en/function.filesize.php

    İnceleminizi tavsiye ederim.
  • 15-03-2020, 21:46:40
    #4
    $dosyalar = glob("*.txt"); // uzantısını belirtebilirsinzi. Bütün dosyaları silmek için glob("*") kullanın.
     
    foreach ($dosyalar as $dosya) {
    if(filesize($dosya)==100){ // kilobayt cinsinden dosya boyutu alınır.
    unlink($dosya);
    }
    
    }
  • 15-03-2020, 21:52:23
    #5
    Değerli yanıtlarınız için çok teşekkür ederim, fskgrup kodun işime yaradı harikasın ayrıca teşekkür ediyorum.
  • 15-03-2020, 21:56:36
    #6
    Üyeliği durduruldu
    <?php
    $delKb = '100'; // kilobyte olarak silinecek dosya boyutu
    $dosyalar = glob('*.*');
    foreach ($dosyalar as $dosya) {
        $byte = filesize($dosya);
        $kb = ceil($byte / 1024);
        if($kb == $delKb) {
            echo $dosya;
            echo unlink($dosya) ? 'silindi.' : 'silinemedi!';
        }
    }
    ?>
    Dikkat!
    Bu kodu kullanırken dikkatli olun, yanlışlıkla ihtiyacınız olan dosyaları silmeniz durumunda sorumluluk kabul etmiyorum.