• 02-03-2015, 15:22:44
    #1
    Sitede toplam 210 binden fazla resim bulunmakta.Bütün resimlerin 150*150 300*150 boyutları otomatik olarak yüklendiğinden dolayı sunucuda ciddi yük oluyor.

    150*150 300*150 boyutunda ki resimleri otomatik olarak silebilir miyim ? Elle teker teker silmek günlerimi alacak.

    Yardımlarınızı bekliyorum.Teşekkürler.
  • 02-03-2015, 15:27:25
    #2
    bende cevabı merakla bekliyorum, 0 bytes olan resimleri silmek için kullanabilirim bende.
  • 02-03-2015, 15:29:01
    #3
    SacmaSapan adlı üyeden alıntı: mesajı görüntüle
    bende cevabı merakla bekliyorum, 0 bytes olan resimleri silmek için kullanabilirim bende.
    İmage Cleanup eklentisi çalışması belki sizde çalışır.Kullanılmayan resimleri otomatik olarak siliyor.
  • 02-03-2015, 15:41:52
    #4
    Avni adlı üyeden alıntı: mesajı görüntüle
    Sitede toplam 210 binden fazla resim bulunmakta.Bütün resimlerin 150*150 300*150 boyutları otomatik olarak yüklendiğinden dolayı sunucuda ciddi yük oluyor.



    150*150 300*150 boyutunda ki resimleri otomatik olarak silebilir miyim ? Elle teker teker silmek günlerimi alacak.



    Yardımlarınızı bekliyorum.Teşekkürler.

    Otomatik silme ile bilgim yok fakat, bundan sonraki yüklemeleri sadece eklediğin resim olsun istyorsan Admin panelinden ayarla ve medya resim ayarlarına gireceksin. Oradaki bütün Boyutları iptal edip yani değerini rakamla Sıfır ver... Sonraki yüklemelerde sadece eklediğin resim boyutu çıkacaktır. Ha birde resim arşivlensin seçeneğini pasif yap ve kaydet. Silme işlemini de şuanlık bildiğim kadarı manuelden başka çare yok gibi... Varsa bir çaresi bende eski resimlerimi sileyim.


    Tapayalk ile yazılmıştır harf veya cümle hataları için maruz görün
  • 02-03-2015, 15:44:30
    #5
    Bence basit bir php kodu ile halledilebilir
  • 02-03-2015, 17:28:46
    #6
    Merhaba, fazla vaktim olmadığı için aceleyle yazdım lokalde denedim bir sorun görünmüyor ancak siz de test ettikten sonra sitenizde çalıştırırsanız daha iyi olur. Sitenizin ana dizininde istediğiniz isimde bir php dosyası oluşturduktan sonra aşağıdaki kodları yazıp kaydedin.
    $silinecek_width ve $silinecek_height alanlarına istediğiniz değerleri girip dosyayı çalıştırdığınızda uygun olan resimleri temizleyecektir. Sırasıyla ilgili alanı değiştirip istediğiniz çözünürlükteki resimleri temizleyebilirsiniz.

    Yüklemelerimi aylık -ve yıllık- bazda klasörlerde tut. seçeneğini aktif ettiğinizi varsayarak kodları bu şekilde yazdım eğer bu seçeneği kullanmıyorsanız, yani resimlerin hepsi uploads klasörünün içinde direkt olarak bulunuyorsa

    $dizin = "wp-content/uploads/*/*/";
    kısmını aşağıdaki gibi değiştirmeniz gerekmektedir.

    $dizin = "wp-content/uploads/*";
    Bu işlemi yapmadan önce yedek almayı unutmayın.

    <?php
    $silinecek_width = '150';
    $silinecek_height = '150';
    
    $dizin = "wp-content/uploads/*/*/";
    
    $resimler = glob($dizin."{*.jpg,*jpeg,*.png,*.gif}", GLOB_BRACE);
    
    foreach($resimler as $resim){
    
    $size = getimagesize($resim);
    $resim_width = $size[0];
    $resim_height = $size[1];
    
    if($resim_width==$silinecek_width && $resim_height==$silinecek_height){
    unlink($resim);
    echo '<b>'.$resim.'</b> silindi.<br>';
    }
    }
    ?>
  • 03-03-2015, 02:55:07
    #7
    CBSoft adlı üyeden alıntı: mesajı görüntüle
    Merhaba, fazla vaktim olmadığı için aceleyle yazdım lokalde denedim bir sorun görünmüyor ancak siz de test ettikten sonra sitenizde çalıştırırsanız daha iyi olur. Sitenizin ana dizininde istediğiniz isimde bir php dosyası oluşturduktan sonra aşağıdaki kodları yazıp kaydedin.
    $silinecek_width ve $silinecek_height alanlarına istediğiniz değerleri girip dosyayı çalıştırdığınızda uygun olan resimleri temizleyecektir. Sırasıyla ilgili alanı değiştirip istediğiniz çözünürlükteki resimleri temizleyebilirsiniz.

    Yüklemelerimi aylık -ve yıllık- bazda klasörlerde tut. seçeneğini aktif ettiğinizi varsayarak kodları bu şekilde yazdım eğer bu seçeneği kullanmıyorsanız, yani resimlerin hepsi uploads klasörünün içinde direkt olarak bulunuyorsa

    $dizin = "wp-content/uploads/*/*/";
    kısmını aşağıdaki gibi değiştirmeniz gerekmektedir.

    $dizin = "wp-content/uploads/*";
    Bu işlemi yapmadan önce yedek almayı unutmayın.

    <?php
    $silinecek_width = '150';
    $silinecek_height = '150';
    
    $dizin = "wp-content/uploads/*/*/";
    
    $resimler = glob($dizin."{*.jpg,*jpeg,*.png,*.gif}", GLOB_BRACE);
    
    foreach($resimler as $resim){
    
    $size = getimagesize($resim);
    $resim_width = $size[0];
    $resim_height = $size[1];
    
    if($resim_width==$silinecek_width && $resim_height==$silinecek_height){
    unlink($resim);
    echo '<b>'.$resim.'</b> silindi.<br>';
    }
    }
    ?>
    Bir sitemde sorunsuz sildim, diğerinde ise Warning: Invalid argument supplied for foreach() in /home/xx/public_html/sil.php on line 9

    şeklinde bir hata aldım.sebebi ne olabilir ?
  • 03-03-2015, 03:21:58
    #8
    Avni adlı üyeden alıntı: mesajı görüntüle
    Bir sitemde sorunsuz sildim, diğerinde ise Warning: Invalid argument supplied for foreach() in /home/xx/public_html/sil.php on line 9

    şeklinde bir hata aldım.sebebi ne olabilir ?
    Resimlerin bulunduğu klasör okunamadığı için bu hatayı alıyorsunuz. Eğer diğer siteden farklı bir konumda ise veya ilk mesajımda bahsettiğim gibi aylık-yıllık klasörleme özelliğinin açık olup olmaması durumuna göre gerekli değişikliği yapmanız gerekiyor.

    Bunun dışında sunucu ayarlarınızdan kaynaklanan bir sorun da olabilir. Bu sebeple direkt kök dizinden başlayarak çalıştırmanızın faydası olabilir. Eğer siteniz farklı bir klasörde değil de ana dizinde kurulu ise aşağıdaki gibi denemenizin faydası olabilir.

    $dizin = $_SERVER[DOCUMENT_ROOT]."wp-content/uploads/*/*/";
  • 16-03-2017, 00:40:04
    #9
    CBSoft adlı üyeden alıntı: mesajı görüntüle
    Merhaba, fazla vaktim olmadığı için aceleyle yazdım lokalde denedim bir sorun görünmüyor ancak siz de test ettikten sonra sitenizde çalıştırırsanız daha iyi olur. Sitenizin ana dizininde istediğiniz isimde bir php dosyası oluşturduktan sonra aşağıdaki kodları yazıp kaydedin.
    $silinecek_width ve $silinecek_height alanlarına istediğiniz değerleri girip dosyayı çalıştırdığınızda uygun olan resimleri temizleyecektir. Sırasıyla ilgili alanı değiştirip istediğiniz çözünürlükteki resimleri temizleyebilirsiniz.

    Yüklemelerimi aylık -ve yıllık- bazda klasörlerde tut. seçeneğini aktif ettiğinizi varsayarak kodları bu şekilde yazdım eğer bu seçeneği kullanmıyorsanız, yani resimlerin hepsi uploads klasörünün içinde direkt olarak bulunuyorsa

    $dizin = "wp-content/uploads/*/*/";
    kısmını aşağıdaki gibi değiştirmeniz gerekmektedir.

    $dizin = "wp-content/uploads/*";
    Bu işlemi yapmadan önce yedek almayı unutmayın.

    <?php
    $silinecek_width = '150';
    $silinecek_height = '150';
    
    $dizin = "wp-content/uploads/*/*/";
    
    $resimler = glob($dizin."{*.jpg,*jpeg,*.png,*.gif}", GLOB_BRACE);
    
    foreach($resimler as $resim){
    
    $size = getimagesize($resim);
    $resim_width = $size[0];
    $resim_height = $size[1];
    
    if($resim_width==$silinecek_width && $resim_height==$silinecek_height){
    unlink($resim);
    echo '<b>'.$resim.'</b> silindi.<br>';
    }
    }
    ?>
    İşime yaradı. Teşekkür ederim.