Alıntı
<?php
/* Arkadaşlar işlem uzun süreceği için hatalar ile karşılaşılabiliniyor en iyi çözüm zaman
* limitini sıfırlamak bu da set_time_limit(0); ile çözümleniyor
*/

set_time_limit(0);

$resim_kalitesi = 60; //Resim kalitesi max 100 olabilir % cinsindendir.

/*
* Resimler klasörümüzü açıp içinden tüm resimleri tek tek okuya okuya ufaltıyoruz
*/
$resimler_klasorumuz = './'; // resimlerin olduğu klasörün yolu
/*
* Örneğin $resimler_klasorumuz = "images";
* yada
* $_SERVER['DOCUMENT_ROOT'].'/resimler';
*/
$izinli_dosya_turleri = array('jpg','jpeg');

$dimg = opendir($resimler_klasorumuz);
while($resim_dosyasi = readdir($dimg))
{
if(in_array(strtolower(substr($resim_dosyasi,-3)),$izinli_dosya_turleri))
{
$a_img[] = $resim_dosyasi;
sort($a_img);
reset ($a_img);
}
}

$totimg = count($a_img); // Toplam resim

for($x=0; $x < $totimg; $x++)
{
$resim_boyutlari = getimagesize($resimler_klasorumuz.'/'.$a_img[$x]);


$resim_genisligi = ceil($resim_boyutlari[0]/2);
$resim_yuksekligi = ceil($resim_boyutlari[1]/2);
echo 'Dosya Adi: '.$a_img[$x].' Dosya Genisligi: '.$resim_boyutlari[0].' Dosya Yuksekligi: '.$resim_boyutlari[1].'<br />';

$dosyam=$resimler_klasorumuz.'/'.$a_img[$x];//yüklediğim dosyamın yolunu buldum
$resimimm=imagecreatefromjpeg($dosyam);//yüklediğim dosyamı aldım

$boyutlar=getimagesize($dosyam);//dosya boyutlarını alalım
$yeniresim=imagecreatetruecolor($boyutlar[0],$boyutlar[1]);
/*Yeni resmimizin arkaplan ve paletini oluşturduk*/
imagecopyresampled($yeniresim, $resimimm, 0, 0, 0, 0, $boyutlar[0], $boyutlar[1], $boyutlar[0], $boyutlar[1]);
/*Oluşturduğumuz yeni paletimizin üzerine okuduğumuz resmi yazdık*/
imagejpeg($yeniresim,$dosyam,$resim_kalitesi);//Resmi kaydettik
}

/*Saygılar. Oyunoyna2.net*/
?>

resimleri optimize etmek için basit bir php örnek. Kullanıyorum çok faydalı benim için. Şu anlık sadece jpg uzantısını küçültüyor. Kaliteyi biraz düşürerek boyutu azaltıyor.

$resim_kalitesi = 60 ben 70-80 öneririm.


Kullanımı ; resimlerin bulunduğu klasörün içine koyun ve resim.php olarak klasörde çalıştırın. Ekrana çıktı alacaksınız.Sunucunuzda GD bileşeni bulunmalıdır.Sayfada 10 ader resmi böyle sıkıştırmak 200-300 KB tasarruf sağlayacaktır.