我已经通过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