<?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(""); */ ?>
Etiket: Optimize
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">'; ?>