Aşağıdaki kodlar işini görebilir
klasör isimleri buyuk ve kucuk değişkenlerinde resim genişlik ve yüksekliği en ve boy değişkenlerinde ayarlanıyor..
<?
//klasordeki png ve jpeg'leri boyutlandıran bir script
// Osman Yüksel 28.03.2005
//Not bu kisi ben degilim :)
$buyuk = "buyuk/"; //ana resimlerin bulunduğu klasor
$kucuk = "kucuk/"; //kucultulecek resimlerin olacağı klasor
if (!file_exists($kucuk)) {//eğer klasor yoksa
echo "$kucuk klasoru yok";
exit;
} #if
if (!file_exists($buyuk)) {//eğer klasor yoksa
echo "$buyuk klasoru yok";
exit;
} #if
if (!is_writeable($kucuk)) { //eğer klasore yazma izni yoksa
echo "$kucuk klasorune yazma izniniz bulunmuyor";
exit;
} #if
//$buyuk icindeki dosyaları al boyutunu değiştirip $kucuk icine kaydet
$klasor = @opendir($buyuk);
while ($dosya = readdir($klasor)) { //her dosya için
// eğer uzantı jpg veya png ise ve bu bir klasor değilse
if($dosya == "." || $dosya == ".." || is_dir($buyuk.$dosya) ||
(!preg_match("/.jpg/",$dosya) AND !preg_match("/.png/",$dosya))) continue;
$fp = @fopen($buyuk.$dosya,"r"); //dosyayı aç
$ozellik = @GetImageSize($buyuk.$dosya); //resmin özelliklerini al
$en1 = $ozellik[0];
$boy1 = $ozellik[1];
if ($en1>$boy1){
if( $en1 > 73)
{
$en = 73;
$boy = floor(($en / $en1) * $boy1);
} else {
$en = $en1;
$boy = $boy1;
}
}else{
if( $en1 > 90)
{
$boy = 90;
$en = floor(($boy / $boy1) * $en1);
} else {
$en = $en1;
$boy = $boy1;
} }
$tur = $ozellik[2]; //resmin tipi 2 = jpeg , 3 = png
if ($tur=="2") { //eğer jpeg ise
echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... ";
$kaynak = imagecreatefromjpeg($buyuk.$dosya); //jpegden dosyayı al
$hedef = imagecreatetruecolor($en,$boy); //true colour olarak yeni bir resim oluştur
//kaynağın boyutunu değiştirip $hedefe yaz
imagecopyresized($hedef,$kaynak,0,0,0,0,$en,$boy,imagesx($kaynak),imagesy($kaynak));
//hedefi dosyaya yaz
imagejpeg($hedef, $kucuk.$dosya);
echo "[Tamam]<br>";
} #else
elseif ($tur=="3") { //eğer png ise
echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... ";
$kaynak=ImageCreateFrompng($buyuk.$dosya); //png'den dosya al
$hedef=ImageCreatetruecolor($en,$boy); //true colour olarak yeni bir resim oluştur
//kaynağın boyutunu değiştirip $hedefe yaz
ImageCopyResized($hedef,$kaynak,0,0,0,0,$en,$boy,ImageSX($kaynak),ImageSY($kaynak));
//hedefi dosyaya yaz
Imagepng($hedef, $kucuk.$dosya);
echo "[Tamam]<br>";
} #elseif
@fclose($fp); //dosyayı kapat
} #while
?>