Php 降低图像分辨率,解决问题

Php 降低图像分辨率,解决问题,php,image,resolution,Php,Image,Resolution,我有一个网站,用户可以上传图像,我有这个功能,以减少图像分辨率和执行大量的检查等,工作良好,除了这1个小错误,我似乎不太明白 $fixed_width是我想要声明为允许的最大宽度,但允许较低,但由于某些原因,此if语句总是会触发,并且图像会重新调整大小,留下一个黑框 $width\u orig=图像宽度 $fixed_width=允许的最大宽度,如果更高,请调整为该宽度 $image\u p=truecolor $image=img的当前位置 if ($width_orig > $fixe

我有一个网站,用户可以上传图像,我有这个功能,以减少图像分辨率和执行大量的检查等,工作良好,除了这1个小错误,我似乎不太明白

$fixed_width是我想要声明为允许的最大宽度,但允许较低,但由于某些原因,此if语句总是会触发,并且图像会重新调整大小,留下一个黑框

$width\u orig=图像宽度

$fixed_width=允许的最大宽度,如果更高,请调整为该宽度

$image\u p=truecolor

$image=img的当前位置

if ($width_orig > $fixed_width) {
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $fixed_width, $fixed_height, $width_orig, $height_orig); // reduce in width / height
} else {
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width_orig, $height_orig, $width_orig, $height_orig); // leave as is
}

那么,为什么它永远不会通过,不管发生什么,它都会调整大小?

$image\u p
具有固定的宽度和高度。因此,当你复制较少的内容时,它会有空白(黑色)背景来填充其余内容。试着改用
$image
else{$image\u p=$image}

代码中的else块没有任何意义。如果您不想更改图像,为什么要复制并重新采样


将剩下的代码发布到我们这里,我们可以看到您获得原始宽度的方式。

很难说,因为您没有提到输入值是什么。执行
var\u dump()
以确保它们是您所认为的。另外,请确保您使用的是数字类型,而不是字符串。正如您所知,要求澄清的简短投稿通常最好作为评论,而不是答案。我是新来的。。。添加评论的链接只是在这个答案中显示给我的,而不是在原来的帖子中…只是进行了一些研究,发现你必须至少有50个声誉才能在其他成员的答案中发表评论,这不是我的情况…啊,抱歉-我一直忘了!谢谢