• 16-02-2024, 20:51:52
    #1
    bir ihtiyacımdan dolayı bilgisayardaki klasörün içinde olan tüm resimlerin aynı en ölçüsünde olması gerekiyordu. işimi hızlandırmak adına aşağıdaki gibi bir kod yazdım. çalışıyor. ihtiyacı olan arkadaşlar da kullanabilir.

    $yeni_genislik = 1600; yazan kısımda istediğini en ölçüsünü yazabilirsiniz. boy değerini görselin orijinal ölçüsüne göreyeni en değerine göre oranlayıp belirliyor. o kısma da istiyorsanız manuel değer girebilirsiniz. resimlern olduğu klasöre, mevcut resimlerin üstüne kaydediyor bilginize. ne olur ne olmaz diye tedirgin olan olursa resimleri yedekleyerek işlemi yaptırabilir.

    kodu xampp üstünde çalıştırdığında hata alan olursa xampp'da apache kısmında Config > php.ini doyasını açıp içinde ;extension=gd kısmını bulsun. başındaki ; işaretini kaldırıp aktif etsin bu eklentiyi. sonra xampp ı kapatıp tekrar açıp kodu tekrar çalıştırsın.

    <?php
    $klasor_yolu = 'resimlerin olduğu klasör';
    $dosyalar = glob($klasor_yolu . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
    
    foreach ($dosyalar as $dosya) {
        $dosya_yolu = $dosya;
        $resim = imagecreatefromstring(file_get_contents($dosya_yolu));
        $genislik = imagesx($resim);
        $yukseklik = imagesy($resim);
    
        $yeni_genislik = 1600;
        $yeni_yukseklik = floor($yukseklik * ($yeni_genislik / $genislik));
    
        $yeni_resim = imagecreatetruecolor($yeni_genislik, $yeni_yukseklik);
        imagecopyresampled($yeni_resim, $resim, 0, 0, 0, 0, $yeni_genislik, $yeni_yukseklik, $genislik, $yukseklik);
        imagejpeg($yeni_resim, $dosya_yolu);
        imagedestroy($resim);
        imagedestroy($yeni_resim);
    }
    
    echo 'İşlem tamamlandı.';
    ?>
  • 17-02-2024, 10:36:48
    #2
    https://www.php.net/manual/tr/functi...yresampled.php bende burada bulunan class imaging ile bir şeyler yapmıştım ama webp ve tüm olabilecek formatlar oluyor mu bilmiyorum bu konu çok uzun gerçekten kısa bir yol bulmak her zaman iyi seçenek olabiliyor böyle durumlarda.

    Özellikle çok resim yüklenen durumlar da yükleme hızını düşünmek bakımından önce orjinal boyutlarda resimleri yükleyip sonradan optimize et butonu ile yapmak daha iyi oluyor.