Tüm Resimleri Boyutlandırma

<?php	
$anadizin="C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\";
$dizin='attachment';
$en = 135;
$boy = 135;
$basla=microtime(); 
function seoimg($file,$en,$boy){
header('Content-Type: '.getimagesize($file)[mime]);
//if(getimagesize($file)[mime] == "image/gif"){header('Content-Type: image/gif');}
$oran = getimagesize($file)[0]/getimagesize($file)[1];
if ($en/$boy > $oran) {$en = $boy*$oran;} 
else{$boy = $en/$oran;}
$resim=imagecreatetruecolor($en, $boy);
imagecopyresampled($resim, imagecreatefromjpeg($file), 0, 0, 0, 0, $en, $boy, getimagesize($file)[0], getimagesize($file)[1]);
if(getimagesize($file)[mime] == "image/jpeg"){imagejpeg($resim, $file, 100);}
if(getimagesize($file)[mime] == "image/png"){imagepng($resim, $file, 100);}
if(getimagesize($file)[mime] == "image/gif"){imagegif($resim, $file, 100);}
return true;
}
$liste= realpath($dizin);
$i=0;
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($liste)) as $dosya)
{
				
				$dosya=str_replace($dizin,"../",$dosya);
        $dosya=str_replace("\","/",$dosya);
				@seoimg($dosya,$en,$boy);
				@header('Content-Type: text/html; charset=utf-8');
				$i++;
				echo " ".$i.". satır tamamlandı [".$dosya."]<br>";
}

echo $i. " satır etkilendi<br>";
$son=microtime(); 
echo abs($basla-$son)." saniyede yüklendi"; 
?>
<?php
/* NOT EASYPHP üzerinde test edilmiştir.
ÇIKTISI
1. satır tamamlandı [attachment/2012/01/5/axgjd.gif]
2. satır tamamlandı [attachment/2013/05/12/abkly.png]
3. satır tamamlandı [attachment/2014/08/24/wthop.jpeg]
.
.
22484 satır etkilendi
0.731462 saniyede yüklendi
*/
/* AYARLAR  Örn: "C:Program FilesEasyPHP-DevServer-14.1VC9datalocalwebimages" için
$anadizin="C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\";
$dizin='images';
$en = 135;
$boy = 135;
*/
/* Test Sonuçları
Eski Boyut: 793MB
Yeni Boyut: 198MB
21.732 Dosya 375 Klasör
*/
/* Şuanki bulunduğunuz dizini bu şekilde bulabilirsiniz
echo realpath("");
*/
?>

Resim Boyutlandırma (Seo Resim Optimize)

Kırpma işlemi değil, aynı oranda küçültme işlemi yapar.

Dikkat: Eski resim dosyanızı yeni boyutları ile değiştirir.

test.jpg üzerinde 250px x 250px örnek kullanılmıştır.

Not: Resim dosyalarınızın türüne göre image/jpeg ve imagecreatefromjpeg fonksiyonunu değiştirmeniz gerekebilir. Örnekte jpg ve jpeg uzantılı dosyalar için anlatım yapılmıştır.

Mime Tipleri ( image/gif image/jpeg image/png image/bmp

Fonksiyonlar ( imagecreatefrombmp,  imagecreatefromgif, imagecreatefromjpeg, imagecreatefrompng)

<?php header('Content-Type: image/jpeg');
$file = 'test.jpg';
$en = 250;
$boy = 250;
$oran = getimagesize($file)[0]/getimagesize($file)[1];
if ($en/$boy > $oran) {$en = $boy*$oran;} 
else{$boy = $en/$oran;}
$resim=imagecreatetruecolor($en, $boy);
imagecopyresampled($resim, imagecreatefromjpeg($file), 0, 0, 0, 0, $en, $boy, getimagesize($file)[0], getimagesize($file)[1]);
imagejpeg($resim, $file, 100);
?>
<?php
//KONTROL
header('Content-Type: text/html');
echo '<img src="test.jpg">';
?>