图像加载在localhost上但不使用IP

时间:2013-04-23 10:37:18

标签: php javascript jquery

我正在使用PHP脚本读取目录中的一些文件夹,并根据其名称检索海报。所有这些都适用于localhost。但是,在外部打开时,这不起作用并产生blank图像。

来自localhost的屏幕截图:Screenshot of localhost

<小时/> 问题可以在89.241.171.100/Prac/找到。 PHP生成img tag

while (false !== ($entry = readdir($handle))) {
      $counter++;
      echo "<span class='title'>
              <img src='holder.js/200x280/text:$entry' 
                   alt='$entry' 
                   onload='loader(this, \"$entry\")' />
                   </span>";
      if($counter == 5) break;
 }

PHP从loader()

获取通过ajax调用的图像的src
if($_POST['title']) {
    $title = $_POST['title'];
    $imdb = new Imdb();
    $movieArray = $imdb->getMovieInfo("$title");
    $link = $movieArray["poster_large"];
    echo $link;
}

Loader()功能:

$.ajax({
     type: 'post',
     url: 'loader.php',
     data: 'title='+title,
     success: function(data) {
          img.src = data;
     }
 });

2 个答案:

答案 0 :(得分:1)

这看起来与您加载它的方式有关。这些图片是通过Akamai的CDN提供的,它并不喜欢它所引用的推荐人。

这是返回的内容而不是图像有效负载。

<HTML><HEAD>
<TITLE>Referral Denied</TITLE>
</HEAD><BODY>
<H1>Referral Denied</H1>
You don't have permission to access "http&#58;&#47;&#47;ia&#46;media&#45;imdb&#46;com&#47;images&#47;M&#47;MV5BMTM5NjM0ODY1NF5BMl5BanBnXkFtZTcwMjk5NjI0Ng&#64;&#64;&#46;&#95;V1&#46;&#95;SY500&#46;jpg" on this server.<P>
Reference&#32;&#35;24&#46;24c633b8&#46;1366714063&#46;2a353f15
</BODY></HTML>

我并不鼓励违反任何人的条款,但this可能会对您有所帮助,我怀疑通过空推荐人会解决问题,因为当您直接访问图片网址时它会起作用(并且不会t发送推荐人。)

编辑:

This fiddle是我之前建议的一个实例。您会注意到直接链接的图像已经死亡,但没有引用的图像会完全加载。

答案 1 :(得分:1)

你可以使用Imdb API

只需使用以下网址请求数据:http://imdbapi.org/?id={id}&type=json&plot=simple&episode=1&lang=en-US&aka=simple&release=simple

{id}是电影的imdb id。然后你可以用以下方式访问图片:

$data = json_decode(file_get_contents("http://imdbapi.org/?id={id}&type=json&plot=simple&episode=1&lang=en-US&aka=simple&release=simple"));
$img = $data->poster;