-4

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

上传代码:

// 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 的大小?

谢谢!

4

3 回答 3

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;
}
于 2012-07-20T13:50:31.907 回答
1

或者,如果您很懒惰,可以使用一个名为PHP Image Magican的开源项目,它可以轻松轻松地调整图像大小。

于 2012-07-31T02:07:45.747 回答
0

请参阅PHP GD 库以在上传时调整图像大小

于 2012-07-20T13:47:30.627 回答