我不知道如何操作 xml 数据。我想使用我的广播统计页面中的一些数据。我可以通过以下方式访问它:http://address:port/statistics
我似乎无法找到从我创建/修改的页面访问此内容的方法。不久前我发帖称访问 mysql 时出现问题,但最终在评论的帮助下解决了这个问题,所以我希望有人能给我指明正确的方向。
<a href="javascript:songinfo(<?php echo $comingSong->ID; ?>)" title="<?php echo $comingSong->artist_title; ?>">
<?php echo $comingSong->title; ?>
<?php if(!empty($comingSong->artist)) : ?> <br />by <?php echo $comingSong->artist; ?> <?php endif; ?>
</a>
<?php if($comingSong->isRequested): ?>
~requested~
<?php endif; ?>
<?php endforeach; ?>
</td>
<td align="right" valign="bottom" colspan="2">
<!-- this is broken in the program -->
<?php if (!empty($currentSong) && $currentSong->listeners > 0): ?>
<div id="listener_count">Listening: <br /><?php echo $currentSong->listeners; ?></div>
<?php endif; ?>
<!-- I need to access shoutcastaddress:port/statistics xml file
and print the <CURRENTLISTENERS></CURRENTLISTENERS> value here
to replace the code/value that the program no longer supplies.
haven't had any luck -->
</td>
</tr>
</tbody>
我搜索过,但找不到任何显示连接或获取 xml 数据的迹象。我尝试过 w3school XML Tutorial 上的代码,但似乎找不到任何“适合”他们的代码显示“文件”(example.xml)的东西,即使是那些据称从 URL 调用的文件。他们仍然显示 /example.xml(带有 xml 扩展名).. 但 screamcast 没有 .xml .. 它只有一个“统计数据”我尝试了两者,http://shoutcast:port/statistics
但http://shoutcast:port/statistics.xml
使用他们的代码无法获得任何输出。我真的不想泄露我的服务器信息,但如果有人想弄清楚某件事并想测试它,他们可以使用这个服务器.. 我从 screamcasts 页面获得它.. 这是一个公共站点。https://hazel.torontocast.com:2280/statistics
答案1
经过一番努力,弄清楚了我不知道的新安全问题后,我终于能够进行某种活动。然后我做了各种研究,最终走向了一个完全不同的方向。我发现,shoutcast 在他们的服务器上提供了一个名为 7.html 的文件。我决定使用它而不是 xml 输出。代码可能不是实现这一点的最漂亮或最好的方法,但它有效。
<td align="right" valign="bottom" colspan="2">
<?php require_once('../config/shoutcast-conf.php');
$conn = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
)
);
$context = stream_context_create($conn);
$stats = file_get_contents('https://' . $site . ':' . $port . '/7.html', false, $context);
$split = preg_split("/[,]+/", $stats, 7);
$listeners = $split[0];
?>
<span class="auto-style4">Listening:</span> <?php echo $listeners ?>
</td>
这可能对某些人有用。通过它,您可以访问以下统计数据:当前听众:$split[0],可用流:$split1、峰值听众:$split[2]、最大用户数:$split[3]、唯一听众:$split[4]、比特率:$split[5] 和艺术家 - 歌曲:$split[6]