我正在尝试通过Last.FM API创建一个PHP页面来显示专辑封面。但是,艺术家姓名和音乐标题由软件通过FTP更新的XML文件提供。
以下是Last.FM api的代码:
<?php
$img = simplexml_load_file('http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=<APIKEY>&artist=cher&track=believe');
echo '<img src="';
echo $img->track[0]->album[0]->image[3];
echo '">';
?>
现在我的XML文件的链接是:http://summerblast.pt/avaplayer/rds.xml Last.FM API需要的信息是'OnAir / CurMusic'。
好吧,我要做的是在“simplexml_load_file”(在php代码中)的链接中将“Cher”和“Believe”(艺术家的名字和Title的名称)改为我的XML文件的信息提供。
你能帮我这么做吗?
提前谢谢大家。
答案 0 :(得分:0)
很抱歉对你之前提出的要求感到困惑。我已经走了,并纠正做你想做的事。
您可以从rds.xml获取艺术家和标题,然后将其传递给下面列出的URL(请注意,对它们运行urlencode
很重要,因为它们可以有空格和其他内容打破网址):
已更新以执行错误检查
$xml = simplexml_load_file('http://summerblast.pt/avaplayer/rds.xml');
$artist = urlencode($xml->OnAir->CurMusic->Artist);
$track = urlencode($xml->OnAir->CurMusic->Title);
$url = 'http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=XXXXXXXXXXXXXXXXXXXXXXXXXXX&artist='.$artist.'&track='.$track;
$xml2 = @simplexml_load_file($url);
if ($xml2 === false)
{
echo("Url failed"); // do whatever you want to do
}
else
{
if($xml2->track->album->image[3])
{
echo '<img src="';
echo((string) $xml2->track->album->image[3]);
echo '">';
}
else
{
echo("artist does not have a image"); // do whatever you want to do
}
}