0

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

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

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

4

3 回答 3

2

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

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

于 2012-12-25T19:00:49.947 回答
1

这对我有用:

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

正如评论中所建议的,您可以通过省略 ?> 标记来避免脚本末尾出现额外空白 >space 的危险:

取自这个答案

于 2016-08-17T01:55:49.877 回答
0

您正在使用'$cover'它应该只是$cover

readfile($cover);

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

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

也这样做:

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

使用两个标题,验证您的文件是否为 jpeg 类型......并确保在标题之前没有输出,绝对没有。没有回声。并且由于内容类型是图像,所以除了文件之外应该没有任何输出!!!

于 2012-12-25T19:02:41.453 回答