【问题标题】:Loading image using php header and include file?使用 php 标头和包含文件加载图像?
【发布时间】:2012-12-11 13:51:31
【问题描述】:

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

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

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

【问题讨论】:

  • 请粘贴完整代码..
  • 在下面的答案中你说“输出只显示很多符号和字母” - 你如何将图像放在页面上? - 这是 HTTP 调用还是 ajax?这就是我们要求更多代码的原因。模棱两可无助于解决问题。
  • 我已经添加了一个指向项目页面的链接我没有模棱两可!

标签: php image gd


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这对我有用:

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

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

    taken from this answer

    【讨论】:

      【解决方案3】:

      你使用的是'$cover',而它应该只是$cover

      readfile($cover);
      

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

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

      也这样做:

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

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

      【讨论】:

      • 您提供的解决方案现在唯一的问题是图像未按应有的方式显示,图像显示为符号和字母。
      • 我不想透露文件代码,因为不是我的创作,但我可以写一个链接,这样你就可以看到 icecast.php 上发生了什么 [link]code.google.com/p/icecast-now-playing-script/source/browse/…
      • 删除所有标题...使用 echo $cover...看看发生了什么。是否正确获取路径
      • 输出是图片的url
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 2018-04-09
      • 2012-08-09
      • 1970-01-01
      • 2023-02-15
      • 2011-05-27
      • 1970-01-01
      相关资源
      最近更新 更多