使用php标头和包含文件加载图像?

时间:2012-12-25 18:57:32

标签: php image gd

我一直在尝试创建一个简单的PHP脚本,将另一个php生成的动态网址转换为图片,但我得到的只是一个空白页,有人知道为什么这不起作用吗?

<?php
include('icecast.php');
$cover = ($stream['artist']['top_albums']['0']['image']['3']);
header('Content-Type: image/jpeg');
readfile('$cover');
?>

我尝试了很多不同的方法,但我仍然得到相同的结果。

3 个答案:

答案 0 :(得分:2)

好吧,至少你试图使用变量 $cover而不是文字字符串'$cover'

字符串必须用引号分隔,但是应该在没有它们的情况下访问变量。

答案 1 :(得分:1)

这对我有用:

  

重点是您必须发送Content-Type标头。此外,&gt;您必须注意不要在标记之前或之后的&gt;文件中包含任何额外的空格(如换行符)。

     

根据评论中的建议,您可以通过省略?&gt;来避免脚本末尾出现额外白色&gt;空格的危险。标记:

taken from this answer

答案 2 :(得分:0)

您使用的是'$cover' $cover

readfile($cover);

还要确保$ cover具有完整的文件名,并附带扩展名,然后添加

header('Content-Length: ' . filesize($cover));

也这样做:

header('Content-Type:image/jpeg');
header('Content-Length: ' . filesize($cover));
readfile($cover);

使用两个标题,另外验证您的文件是否具有jpeg类型.... 并确保没有输出直到标题,绝对没有。没有回音。并且由于内容类型是图像,因此除了文件之外应该没有输出!!!