我想问一下我怎样才能从shoutcast 2 中读出XML?
网址:IP:PORT/stats?sid=1
现在我如何读取 XML 数据并用 php 写下这些值?
提前致谢。
使用 SimpleXMLElement。你会做这样的事情:
$xml = new SimpleXMLElement(file_get_contents("http://{YOUR-SHOUTCAST_SERVER/admin.cgi?mode=viewxml&page=7&sid=".$sid."&pass=".$password"));
其中 $sid 是您的流 id,$password 是您的流管理员密码。
然后将字段提取到如下变量中:
$SERVERTITLE = $xml->SERVERTITLE;
$STREAMSTATUS = $xml->STREAMSTATUS;
$BITRATE = $xml->BITRATE;
$CONTENT = $xml->CONTENT;
$SERVERGENRE = $xml->SERVERGENRE;
$SERVERURL = $xml->SERVERURL;
$SONGTITLE = $xml->SONGTITLE;
$MAXLISTENERS = $xml->MAXLISTENERS;
$CURRENTLISTENERS = $xml->CURRENTLISTENERS;
$PEAKLISTENERS = $xml->PEAKLISTENERS;
我选择第 7 页的原因是因为它在一页上包含最多的统计信息。
$url = "http://ip:port/stats?sid=1";
$nice_url = urlencode($url);
$sc_stats = simplexml_load_file($nice_url);
echo $sc_stats->SERVERTITLE;
echo $sc_stats->BITRATE;
echo $sc_stats->SONGTITLE;
etc.