图像不显示或仅在本地显示

时间:2014-12-22 11:09:42

标签: php html image

我想显示一些图像,这些图像的URL保存在数据库中,但图像没有显示,当我右键单击图像并选择“查看图像”时,我看到此消息:

http://localhost/imdbImage.php?url=http://ia.media-imdb.com/images/M/MV5BMjExNzM0NDM0N15BMl5BanBnXkFtZTcwMzkxOTUwNw@@._V1_SY317_CR0,0,214,317_AL_.jpg cannot be diplayed because it contains errors

这是我的代码:

<?php
while ($row = $query->fetch(PDO::FETCH_ASSOC)):
?> 
    <tr>
       <td><img class='imdbImage' id="image" src='imdbImage.php?url=<?php echo $row['posterLink']; ?>' alt="" /></td>
       <td> ....
       ...
    </tr>

另外,我在php错误日志中看到了这个警告:

PHP Warning: file_get_contents(Null): failed to open stream: No such file or directory in /var/www/imdbImage.php on line 6, referer: http://localhost/movielist.php

而imdbImage.php是:

<?php
header("Content-type: image/jpeg");
//URL for IMDb Image.
$url = rawurldecode($_REQUEST['url']);
echo file_get_contents($url);   //THIS IS LINE 6 //
?>

当我尝试使用以下代码时,它只在本地显示图像。    <td><img class='imdbImage' id="image" src=<?php echo $row['posterLink']; ?>' alt="" /></td>

有人可以让我知道我的代码有什么问题以及为什么没有显示图像?

由于

1 个答案:

答案 0 :(得分:0)

OMG!这个问题只能通过删除一个空行来解决!!!

我在第二行的imdbImage.php文件中写了<?php ..所以第一行是空的。 我在this post找到了解决方案(感谢Johan)

You must not output anything before header(). Just start your document with <?php followed by the code for displaying the image. Skip the html tags. Do not even write a single blankline before header().

希望它对其他人也有用:)