如何调整要上传的图像的大小

时间:2015-12-21 17:30:10

标签: php image image-resizing

我有一个上传图片的表单,但我想更改图像宽高比,使其成为正方形而不裁剪任何图像。

例如,如果图像是500px×600px,则图像将调整为500px×500px,而不会裁剪掉100px。

以下是上传表单:

$target_dir = "Uploads/";
$name = $_FILES["image"]["name"];
$name = md5($name);
$name = $name . uniqid($name);
$path = $_FILES["image"]["name"];
$ext = pathinfo($path, PATHINFO_EXTENSION);
$name = $name.".".$ext;
$target_file = $target_dir . $name;

if(isset($_POST['submit']))
{
move_uploaded_file($_FILES["image"]["tmp_name"], $target_file);

$SQL = "INSERT INTO Posts (image) VALUES ('$target_file')";
$result = mysql_query($SQL);
}

这一切都很出色,但我想知道是否有一些代码可以实现调整大小,然后再发送到目录。

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

您需要使用库函数来缩放图像。例如,Imagick::scaleImage

考虑保持纵横比相同,只需将图像缩小到所需的范围内(如链接的scaleImage所做的那样)。