[icecast] get status.xml's variable using a php file

Phi Tran phitran at myrealbox.com
Mon Dec 22 16:05:01 PST 2003



hi everyone

i'm trying to get the variables from status.xml using php  (based on the Shoutcast status file from casterclub.com)

here is my file

<?php

$ip = "xxx.yyy.zzz";              
$port = "xxxx";             
$password = "xxxx";

<p>////////////////start the parsin action\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//opening socket
$fp = fsockopen("$ip", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) {
 $success=2;  //set if no connection

//edit html to fit your stations site, this display is for offline status
echo "server is offline ";
}

<p><p>if($success!=2){ //if connection
 fputs($fp,"GET http://$password@$ip:$port/admin/stats.xml"); //get stats.xml
 while(!feof($fp)) {
  $page .= fgets($fp, 1000);
 }
 
 
 $loop = array("client_connections","source_connections"); //define all the variables to get (delte any ones you don't want)
 $y=0; //dummy variable for while loop
 
  while($loop[$y]!=''){ //while there are things in loop
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page); // extract data
  $phpname = strtolower($loop[$y]); //make names in loop lowercase for variable names
  $$phpname = ereg_replace("</$loop[$y]>.*", "", $pageed); //finish extracting data
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE) //if for code clean-up (if you have problems with variables with URL encoding (i.e. %20 for space put them in this loop)
   $$phpname = urldecode($$phpname); // replace URL code with regular text (i.e. %20 = space)
 
 ##More stuff that prints##
echo ('$'.$phpname.' = '.$$phpname.' <BR>');
 ##Stop here. Your server will be upset if you comment out the next line of code ($y++;).##

  $y++; //update dummy variable for while loop
 }
 
 fclose($fp); //close connection
 echo "$client_connection";
}

?>

<p><p>but here is what i get instead for the output:

$client_connections = MountPoint,Connections,Stream Name,Current Listeners,Description,Currently Playing,Stream URL Global,Client:83075 Source: 184.....

exactly like the file status2.xsl

can anyone show me what is wrong w/ the code above?

thx a lot

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Icecast mailing list