2012-07-20 64 views
-4

这是我的工作图片上传和重命名代码,但我需要一些帮助来调整正在上传的图片的大小。用PHP上传调整图片的大小

上传代码:

// 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 800像素?

谢谢!

回答

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; 
} 
+0

以及我如何实现这个代码来挖掘? – user1540512 2012-07-20 14:33:35

1

或者,如果你是懒惰的,有一个名为PHP Image Magican一个很好的开源项目,它使图像缩放不错并且容易。