gpt4 book ai didi

php - 在不裁剪的情况下在 PHP 中将图像调整为最大宽度或高度

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:44 24 4
gpt4 key购买 nike

我有一个 AJAX 表单,可以将 4 张图片发送到 PHP 表单处理程序。接受的格式为 .gif、.png、.jpg 或 .jpeg。在发送表单之前,我正在使用 javascript 检查图像文件类型。

现在,在 PHP 中我有这段代码:

    while($x <= 4) {
$target_dir = "files/";
$target_file = $target_dir . basename($_FILES["fileUpload".$x]["name"]);
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if (move_uploaded_file($_FILES["fileUpload".$x]["tmp_name"], $target_file)) {
$filename = date("d-m-Y---H-i-s---").rand(10000,99999);
$oldfile = $target_file;
$newfile = $target_dir . $filename . "." . $imageFileType;
rename($oldfile, $newfile);
$file[$x] = $filename . "." . $imageFileType;
$fileCounter++;
}
$x++;
}

有些人会上传大图像文件,我想在不裁剪图像的情况下自动将它们调整为最大宽度/高度。我如何使用 PHP 做到这一点?

最佳答案

您可以为此使用 php GD 库。在重命名函数后的 if 条件中,您可以编写以下代码:

list($width, $height) = getimagesize($file);
$ratio = $width / $height;
if( $ratio > 1) {
$resized_width = 500; //suppose 500 is max width or height
$resized_height = 500/$ratio;
}
else {
$resized_width = 500*$ratio;
$resized_height = 500;
}

if ($imageFileType == 'png') {
$image = imagecreatefrompng($newfile);
} else if ($imageFileType == 'gif') {
$image = imagecreatefromgif($newfile);
} else {
$image = imagecreatefromjpeg($newfile);
}

$resized_image = imagecreatetruecolor($resized_width, $resized_height);
imagecopyresampled($resized_image, $image, 0, 0, 0, 0, $resized_width, $resized_height, $width, $height);

关于php - 在不裁剪的情况下在 PHP 中将图像调整为最大宽度或高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40324581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com