PHP imagejpeg 仅在保存图像时有效


PHP imagejpeg only works when saving the image

我遇到了这种奇怪的情况。Imagejpeg 仅在我定义要保存图像的文件名时才有效。问题是我不想保存图像,我只想显示它。

这是我的代码:

header('Content-Type: image/jpeg');
$img    = imagecreatefromjpeg("./_test/test.jpg");
imagejpeg($img, null, 100);

这不起作用,但是如果我只是将最后一行更改为:

imagejpeg($img, "./_test/blah.jpg", 100);

图像正在按原样保存。

有没有人有这个问题的经验并知道解决方案?

您的图像脚本文件是否存储为 UTF8 而不是 ANSI?如果是这样,那么这可能是您的问题。请参阅前面类似问题的回答:

https://stackoverflow.com/a/3170007/123749

尝试使用此代码来显示图像,您还需要像这样的图像标题header('Content-type: image/png'); imagejpeg($img);