PHP veya JS ile resim yüklerken orantılı küçültme
Ben php de veritabanına görsel yollarken o resmi orantılı küçültmek ve küçülttüğüm resmi hem veri tabanına hemde bir klasöre kaydetmek istiyorum. Nasıl yapabilirim?
Selam yardımcı olayım size sistemimde kullanmış olduğum kodlar
resim düzenini korumak,kırpmak ve farklı bir klasöre kayıt etmek için
gereken php forum kayıt örneği
orjinal resimler images/ adında bir dosya içerisine kayıt edilir
kırpılmış resimler images/thumbs/ dosya içerisine kayıt edilir
kayıt yerini yeniden isimlendirebilirsin
php kayıt formu içindeki php kodlar
$file_name= str_replace(" ","-",$_FILES['resim']['name']);
$resim=rand(0,99999)."_".$file_name;
//orjinal halinde kayıt yeri (images/)
$tpath1='images/'.$resim;
$pic1=compress_image($_FILES["resim"]["tmp_name"], $tpath1, 90);
//kırpılmış halinde kayıt yeri
$thumbpath='images/thumbs/'.$resim;
$thumb_pic1=create_thumb_image($tpath1,$thumbpath,'270','390'); // kaydedilecek resim boyutu değiştirilebilir
$file_name= str_replace(" ","-",$_FILES['resim_cover']['name']);
$resim_cover=rand(0,99999)."_".$file_name;
fonksiyon örneği
function compress_image($source_url, $destination_url, $quality) {
$info = getimagesize($source_url);
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source_url);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source_url);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source_url);
imagejpeg($image, $destination_url, $quality);
return $destination_url;
}
function create_thumb_image($target_folder ='',$thumb_folder = '', $thumb_width = '',$thumb_height = ''){
$target_path = $target_folder;
$thumb_path = $thumb_folder;
$thumbnail = $thumb_path;
$upload_image = $target_path;
list($width,$height) = getimagesize($upload_image);
$thumb_create = imagecreatetruecolor($thumb_width,$thumb_height);
switch($file_ext){
case 'jpg':
$source = imagecreatefromjpeg($upload_image);
break;
case 'jpeg':
$source = imagecreatefromjpeg($upload_image);
break;
case 'png':
$source = imagecreatefrompng($upload_image);
break;
case 'gif':
$source = imagecreatefromgif($upload_image);
break;
default:
$source = imagecreatefromjpeg($upload_image);
}
imagecopyresized($thumb_create, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width,$height);
switch($file_ext){
case 'jpg' || 'jpeg':
imagejpeg($thumb_create,$thumbnail,90);
break;
case 'png':
imagepng($thumb_create,$thumbnail,90);
break;
case 'gif':
imagegif($thumb_create,$thumbnail,90);
break;
default:
imagejpeg($thumb_create,$thumbnail,90);
}
}