[Icecast] Retrieving Playing Stats
Daniel Ballenger
lpmusix at gmail.com
Tue Mar 29 01:21:46 UTC 2005
You might not have opening files over http enabled(/allowed) in your
php config. I'd check that out first, that's probably what's wrong
:).
-Daniel
On Mon, 28 Mar 2005 19:59:59 -0500, convinceme at atrocions.com
<convinceme at atrocions.com> wrote:
> I got the following script from this mailing list but when i try using it doesnt really seem to
> work and gives me the following error.
>
> Warning: fopen(http://...@64.157.204.179:9095/admin/stats): failed to open stream: Bad file
> descriptor in E:\Public ftp\epakimusic\test.php on line 9
> Error reading Icecast data from 64.157.204.179:9095.
>
> So could someone please help me out with this.. or if someone has a better script that would be
> just great...
>
> <?php
>
> $server = "64.157.204.179:9095";
> $user = "login";
> $passw = "pass";
> $mountpoint = "/mountname";
>
> $fp = fopen("http://$user:$passw@$server/admin/stats","r")
> or die("Error reading Icecast data from $server.");
>
> while(!feof($fp))
> {
> $data .= fread($fp, 8192);
> }
>
> fclose($fp);
>
> // Now parse the XML output for our mountpoint
> $xml_parser = xml_parser_create();
> xml_parse_into_struct($xml_parser, $data, $vals, $index);
> xml_parser_free($xml_parser);
>
> $params = array();
> $level = array();
> foreach ($vals as $xml_elem) {
> if ($xml_elem['type'] == 'open') {
> if (array_key_exists('attributes',$xml_elem)) {
> list($level[$xml_elem['level']],$extra) =
> array_values($xml_elem['att
> ributes']);
> } else {
> $level[$xml_elem['level']] = $xml_elem['tag'];
> }
> }
> if ($xml_elem['type'] == 'complete') {
> $start_level = 1;
> $php_stmt = '$params';
> while($start_level < $xml_elem['level']) {
> $php_stmt .= '[$level['.$start_level.']]';
> $start_level++;
> }
> $php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
> eval($php_stmt);
> }
> }
>
> $listeners = $params['ICESTATS'][$mountpoint]['LISTENERS'];
> $currenttrack = $params['ICESTATS'][$mountpoint]['TITLE'];
>
> echo "$listeners listeners are currently connected.";
> echo "<br />";
> echo "Currently playing: $currenttrack";
>
> ?>
>
>
> _______________________________________________
> Icecast mailing list
> Icecast at xiph.org
> http://lists.xiph.org/mailman/listinfo/icecast
>
>
>
More information about the Icecast
mailing list