提问者:小点点

无法让php输出图像


我想让我的PHP输出一个简单的图像,但当我这样做的时候,它给我一个白色的正方形,所以我以为IMG是找不到的,但当我放一个简单的HTML IMG标签,它就可以找到,代码非常简单。同样,如果我尝试从互联网上的图像,它也不会起作用。

<!--testing if image can be found-->
<!--<img src="img.jpeg">-->
<?php

header("Content-type: image/jpeg");
readfile("img.jpeg");
exit(0);
?>

共1个答案

匿名用户

基本上,在输出图像之前,您会输出一些html注释,这意味着您的图像文件是无效的,因此您的internet浏览器不知道要显示什么,并且默认为您看到的内容(屏幕中间的一个白框)。

此外,当您使用header时,您应该确保您还没有返回数据!

如果您在浏览器中检查源代码,您将看到类似...

<!--testing if image can be found-->
<!--<img src="img.jpeg">-->
ÿØÿàJFIFÿá‹rExifII*Àж..................................

...附加数据持续了一段时间!

如果从PHP文件中删除注释,那么它将按预期工作;您的(整个)文件应该如下所示:

<?php    
header("Content-type: image/jpeg");
readfile("img.jpeg");

注意:您可能想要添加额外的头、内容、长度等,但这些对于大多数浏览器来说并不是绝对必要的。