GD-从imagecreatefromstring()中获取正确的输出函数


GD - Getting the proper output function from imagecreatefromstring()

我已经通过imagecreatefromstring()读取了我的图像路径,并对其进行了处理,但现在我需要输出它,这就是我遇到的问题。

$imgpath = "test.jpg"; //Testing
$img = imagecreatefromstring(file_get_contents($imgpath));
//Do stuff to $img
imagejpeg($img);
imagedestroy($img);

这将把图像加载到$img资源变量中,而不管图像类型如何。然而,我目前只是使用imagejpeg()来输出图像,如果源($imgpath)是jpeg,则可以正常工作。然而,如果我将imagejpeg更改为imagepng,服务器必须将jpeg转换为png,这在图像加载时非常明显。

由于我永远不知道通过函数输入的图像是什么类型,我如何判断它是什么类型的图像并相应地进行输出?我试图避免文件名检查方法,但如果GD无法返回它所使用的图像类型,我似乎必须这样做。

谢谢!

您可以使用getimagesize()php函数来查看您正在处理的图像类型,并相应地使用基于它的正确方法。http://php.net/manual/en/function.getimagesize.php