Kendi kullandıgım kütüphaneyi paylaşıyorum Orantılı küçültebilirsiniz resimleri.
resim_kaydet.php i aşşagıdaki gibidir.
function boyutlaKaydet($resim,$tmp,$max_en,$max_boy){
ob_start();
$boyut = getimagesize($tmp);
$en = $boyut[0];
$boy = $boyut[1];
$x_oran = $max_en / $en;
$y_oran = $max_boy / $boy;
if(($en <= $max_en) and ($boy <= $max_boy)){
$son_en = $en;
$son_boy = $boy;
} else if (($x_oran * $boy) < $max_boy){
$son_en = $max_en;
$son_boy = ceil($x_oran * $boy);
} else {
$son_en = ceil($y_oran * $en);
$son_boy = $max_boy;
}
$uzanti = strtolower($boyut["mime"]);
switch($uzanti){
case "image/gif":
$eski = imagecreatefromgif($tmp);
$yeni = imagecreatetruecolor($son_en,$son_boy);
imagecopyresampled($yeni,$eski,0,0,0,0,$son_en,$son_boy,$en,$boy);
//imagegif($yeni,$resim);
break;
case "image/x-png":
$eski = imagecreatefrompng($tmp);
$yeni = imagecreatetruecolor($son_en,$son_boy);
imagecopyresampled($yeni,$eski,0,0,0,0,$son_en,$son_boy,$en,$boy); break;
case "image/png":
$eski = imagecreatefrompng($tmp);
$yeni = imagecreatetruecolor($son_en,$son_boy);
imagecopyresampled($yeni,$eski,0,0,0,0,$son_en,$son_boy,$en,$boy);
//imagepng($yeni,$resim);
break;
case "image/jpeg":
case "image/pjpeg":
case "image/jpg":
$eski = imagecreatefromjpeg($tmp);
$yeni = imagecreatetruecolor($son_en,$son_boy);
imagecopyresampled($yeni,$eski,0,0,0,0,$son_en,$son_boy,$en,$boy);
break;
default:
die('Sadece Resim Dosyasý Gönderebilirsiniz');
}
imagejpeg($yeni,$resim);
imagedestroy($eski);
imagedestroy($yeni);
}
UPLOAD.PHP aşşagıdaki gibidir
include('../harici/resim_kaydet.php');
$randla1 = rand(111111,99999);
$klasor = "../img/";
$klasor_kucukresim = "../img/kucuk/";
$resim = $klasor.$randla1.".jpg";
$ufakresim = $klasor.$randla1.".jpg";
$resimBuyukW = 500;
$resimBuyukH = 500 ;
$resimUfakW = 100;
$resimUfakH= 100 ;
$SqlREsimadi= $randla1.".jpg";
//Resmin SQLde kayıt ismi bu şekilde olacaktır örn : 23532.jpg
boyutlaKaydet($resim,$_FILES["resim"]["tmp_name"],$resimBuyukW,$resimBuyukH);
boyutlaKaydet($ufakresim,$_FILES["resim"]["tmp_name"],$resimUfakW ,$resimUfakH);
//Birden fazla resmi diledigin oranlarda orantılı olarak kücültebilir ve kaydedebilirsin.
$baglanti->query("insert into galeri (galeri) VALUES('".$SqlREsimadi."')");
//Yukardaki gibi SQL işlemi $SqlResimadi olarak yapabilirsin.