以下是我的工作图片上传和重命名代码,但我需要一些帮助才能调整正在上传的图片的大小。
上传代码:
// Upload File to Directory
$code = md5(time());
$image = $_FILES['userfile']['name'];
$imagename = $code.$image;
$file_name = basename($_FILES['userfile']['name']);
$uploaddir = '../_gallery/' . $imagename;
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
存储到MySQL:
$sql="UPDATE b_thome SET
hdescription = '$front_description',
himg = '$uploadfile',
hndescription = '$right_description',
hfacebook='$facebook_link',
htwitter='$twitter_link'
WHERE locationid = '$location'";
是否有一种简单的方法可以调整图像集600 x 800px的大小?
谢谢!
答案 0 :(得分:1)
使用GD库调整大小,它提供了图像管理所需的所有功能。有了它,你可以使用这样的函数来创建一个减少第一个的图像:
function resizeImage($file, $filename, $newwidth = 800, $newheight = 600)
{
$type = substr($file,strrpos($file,".")+1);
switch($type)
{
case 'jpg':
$src = imagecreatefromjpeg($file);
break;
case 'jpeg':
$src = imagecreatefromjpeg($file);
break;
case 'gif':
$src = imagecreatefromgif($file);
break;
case 'png':
$src = imagecreatefrompng($file);
break;
default:
$src = imagecreatefromjpeg($file);
break;
}
list($width,$height)=getimagesize($file);
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
switch($type) {
case 'jpg':
imagejpeg($tmp,$filename,100);
break;
case 'jpeg':
imagejpeg($tmp,$filename,100);
break;
case 'gif':
imagegif($tmp,$filename,100);
break;
case 'png':
imagepng($tmp,$filename,9);
break;
case 'wbm':
imagewbmp($tmp,$filename,100);
break;
default:
imagejpeg($tmp,$filename,100);
break;
}
imagedestroy($src);
imagedestroy($tmp);
return true;
}
答案 1 :(得分:1)
或者,如果你很懒,有一个很好的开源项目叫做PHP Image Magican,可以让图片大小变得简单明了。
答案 2 :(得分:0)
请参阅PHP GD Library以在上传时调整图片大小