我已经使用此代码检测文件类型并使用相关图像GD功能来调整图像并将图像存储在指定的文件位置。
参数定义为:原始文件位置,文件类型和文件名。
文件类型和文件名从$FILES_[][]
变量中获取信息。
但是,此代码似乎不会生成已调整大小的图像,但很好地更新了数据库中的新文件名列。
function resize_image($file, $type, $name) {
list($width, $height) = getimagesize($file);
$newname = 'small'.$name;
$newwidth = $w;
$newheight = $h;
if($type == 'image/jpeg' || 'image/jpg')
{
$src = imagecreatefromjpeg($file);
$dst = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($dst, $newname);
}
else if($type == 'image/gif')
{
$src = imagecreatefromgif($file);
$dst = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagegif($dst, $newname);
}
else if($type == 'image/png' || 'image/x-png')
{
$src = imagecreatefrompng($file);
$dst = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagepng($dst, $newname);
}
else
{
die("Invalid file! Please try again!");
}
return $newname;
}
答案 0 :(得分:0)
您设置了新变量:
$newwidth = $w;
$newheight = $h;
使用未在任何地方定义的$w
和$h
。您可能希望使用$width
获得的$height
和getimagesize
变量。