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

Phi Tran phitran at myrealbox.com
Tue Dec 23 00:05:01 UTC 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


$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