通过LastFM和函数打开歌手的形象(artist.getinfo)

时间:2015-12-31 20:37:38

标签: php xml api simplexml last.fm

好,我有LastFM API的代码

<?php
$xml = simplexml_load_file("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=ARIANA GRANDE&api_key=b25b959554ed76058ac220b7b2e0a026");
$largeImage = $xml->xpath('/lfm/artist/image[@size="mega"]')[0];
echo '<img src="'.$largeImage.'" />';     
?>

它似乎使用了Ariana Grande的图像一个php页面。

现在我的XML文件的链接是:http://radiojoven.6te.net/playlist.xml

好吧,我想要做的是在“simplexml_load_file”(在php代码中)的链接中将“ARIANA GRANDE”(艺术家的名字)改为我的XML文件提供的信息。我尝试制作这样的代码,但无济于事。

<?php
$xml = simplexml_load_file('http://radiojoven.6te.net/playlist.xml');
$artist = urlencode($xml->Event->Song->Artist['name'];); 
$url = simplexml_load_file("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist='.$artist.'&api_key=50ac27433c63f7298064f434f4ef6d15);
$xml2 = @simplexml_load_file($url);
$largeImage = $xml2->xpath('/lfm/artist/image[@size="mega"]')[0];
echo '<img src="'.$largeImage.'" />';     
?>

你能帮我这么做吗?

提前谢谢大家。

1 个答案:

答案 0 :(得分:1)

我认为您的代码中存在一些错误。

在此行中['name'];后删除分号:

$artist = urlencode($xml->Event->Song->Artist['name'];);

api_key=50ac27433c63f7298064f434f4ef6d15之后缺少双引号,我认为'.$artist.'在此行中应为$artist

$url = simplexml_load_file("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist='.$artist.'&api_key=50ac27433c63f7298064f434f4ef6d15);

我认为你不需要这一行:

$xml2 = @simplexml_load_file($url);

然后在此行中将$xml2更改为$url

$largeImage = $xml2->xpath('/lfm/artist/image[@size="mega"]')[0];

所以你的代码会变成这样:

<?php
$xml = simplexml_load_file('http://radiojoven.6te.net/playlist.xml');
$artist = urlencode($xml->Event->Song->Artist['name']);
$url = simplexml_load_file("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=$artist&api_key=50ac27433c63f7298064f434f4ef6d15");
$largeImage = $url->xpath('/lfm/artist/image[@size="mega"]')[0];
echo '<img src="'.$largeImage.'" />';     
?>