2014-04-24 29 views
0

我有点在PHP编程新手,并且图像已经Googleing并试图几个小时我们得到这个工作。但是,我运气不好。希望有人能帮助我:-)Last.fm正从track.getinfo

我想要做的是使用Last.FM API来获取单个轨道的封面图像。它在XML中找到图像标签时起作用,但只要不在Last.FM的XML文件中,PHP脚本就会输出很多错误,并仍尝试在文档中插入损坏的图像。我想要做的是如果脚本在XML中找到图像标签并显示图像,并且如果它找不到它,则显示通用图像。

这是我的代码到目前为止(这里的XML文件的URL与图像工作);

<?php 
$img = simplexml_load_file('http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=f5f149ffcdf2e0db0888f6c477c4abc1&artist=cher&track=believe'); 
echo '<img src="'; 
echo $img->track[0]->album[0]->image[3]; 
echo '">'; 
?> 

我试了一切,但我无法弄清楚。任何人都想帮助我呢?

回答

1

您可以使用xpath查询该图像,如果没有结果,请提供默认的src值。

另外,你应该编码的HTML创建:

list($src) = $img->xpath('/*/track[1]/album[1]/image[4]')? 
      :['http://example.com/path/to/default.png']; 

printf('<img src="%s">', htmlspecialchars($src));