通过PHP返回不同的图像

时间:2010-06-13 21:08:29

标签: php last.fm

AIM的状态指示器代码根据您的状态(在线/离线)返回两个不同的图像,这些图像是在PHP和AIM API中完成的。

<img src="http://big.oscar.aol.com/USERNAME?on_url=ON_IMAGE&off_url=OFF_IMAGE">

我正在寻找一个Last.fm小部件,它显示我正在收听的专辑封面或我收听的最后一张专辑,但找不到它。

如何使用PHP和Last.fm API进行制作。

2 个答案:

答案 0 :(得分:1)

不够http://www.lastfm.pl/api/show?service=290吗?只需解析您获得的XML作为响应,并使用从“图像”标记中提取的数据。

答案 1 :(得分:0)

我看到它并且可能会在python中执行它: 你有用户user.getRecentTracks,你可以得到:

<recenttracks user="RJ" page="1" perPage="10" totalPages="3019">
  <track nowplaying="true">
    <artist mbid="2f9ecbed-27be-40e6-abca-6de49d50299e">Aretha Franklin</artist>
    <name>Sisters Are Doing It For Themselves</name>
    <mbid/>
    <album mbid=""/>
    <url>www.last.fm/music/Aretha+Franklin/_/Sisters+Are+Doing+It+For+Themselves</url>
    <date uts="1213031819">9 Jun 2008, 17:16</date>
    <streamable>1</streamable>
  </track>
  ...
</recenttracks>

然后你有api调用artist.getInfo(与album.getInfo相同),你可以得到:

<artist>
  <name>Cher</name>
  <mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
  <url>http://www.last.fm/music/Cher</url>
  <image size="small">http://userserve-ak.last.fm/serve/50/285717.jpg</image>
  <image size="medium">http://userserve-ak.last.fm/serve/85/285717.jpg</image>
  <image size="large">http://userserve-ak.last.fm/serve/160/285717.jpg</image>
  <streamable>1</streamable>

您只需要一个XML解析来获取图像(或者只使用RegEx)。使用curl请求调用API:

对于用户信息: 例如:http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=rj&api_key=b25b959554ed76058ac220b7b2e0a026

对于相册信息,您可以在您提供的链接中的示例中获取Idea。