Titel:

define(‘PORT’, ’80’); // Der Port Ihres Servers (finden Sie unter Server -> Server-Daten -> Streamen als Moderator)
define(‘ADMIN_PASSWORT’, ‘ihr-passwort’); // Das Admin-Passwort Ihres Servers (finden Sie unter Server -> Optionen)

function between($von, $bis, $string)
{
$a = explode($von, $string);
if (count($a) >= 2) {
$b = explode($bis, $a[1]);
return $b[0];
}
return false;
}

// Verbindung mit dem Shoutcast – Server und Download der XML Datei

$xml = ”;
$fp = fsockopen(HOST, PORT, $errno, $errstr, 5);
if ($fp) {
$send = “GET /admin.cgi?mode=viewxml&page=0&sid=1 HTTP/1.1\r\n”
. “Host: “.HOST.”:”.PORT.”\r\n”
. “Authorization: Basic “.base64_encode(‘admin:’.ADMIN_PASSWORT).”\r\n”
. “User-Agent: Mozilla/5.0 (compatible; streamplus.de;shoutcast-server-info.php)\r\n”
. “Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n”
. “Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n”
. “Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n”
. “Connection: close\r\n\r\n”;
fwrite($fp, $send);
while(!feof($fp)) {
$xml .= fgets($fp, 1024);
}
fclose($fp);
} else {
die(‘Keine Verbindung zum Server möglich’);
}

/*
* In den folgenden Variablen stehen die wichtigsten Informationen wie:
* das aktuelle Lied, der Status des Servers, wie viele Zuhoerer gerade online sind und wie der Server ueberhaupt heisst
*/

$server_titel = between(“”, “”, $xml);
$server_genre = between(“”, “”, $xml);
$server_url = between(“”, “”, $xml);
$stream_status = (int)between(“”, “”, $xml);
$zuhoerer = (int)between(“”, “”, $xml);
$max_zuhoerer = (int)between(“”, “”, $xml);
$song_titel = between(“”, “”, $xml);

/*
* Im Folgenden werden die Zuhoerer aus der XML ausgelesen und in das array $listeners geschrieben
*
* das array ist folgendermassen aufgebaut:
*
* $listeners[index][ip] <- IP des Zuhoerers
* $listeners[index][client] <- Name des Programms, was der Zuhoerer benutzt
* $listeners[index][verbindungsdauer] <- Zeit seitdem der Zuhoerer online ist (angabe in Sekunden)
*/

$listeners = array();
$l = explode(”, between(”, ”, $xml));
foreach($l as $listener) {
if (between(”, ”, $listener) != ”) {
$listeners[] = array(
‘ip’ => between(”, ”, $listener),
‘client’ => between(”, ”, $listener),
‘verbindungsdauer’ => between(”, ”, $listener),
);
}
}

/*
* Im Folgenden werden die Songs aus der XML ausgelesen und in das array $songs geschrieben
*
* das array ist folgendermassen aufgebaut:
*
* $songs[index][abspielzeit] <- Unix – Timestamp von dem Datum und der Zeit, wann das Lied abgespielt wurde
* $songs[index][titel] <- Titel des Liedes plus Albumname und Interpret, falls angegeben
*/
//
$songs = array();
$s = explode(”, between(”, ”, $xml));
foreach($s as $song) {
if (between(”, $song) != ”) {
$songs[] = array(
‘abspielzeit’ => between(”, ”, $song),
‘titel’ => between(”, $song),
);
}
}
?>

 

Informationen von

Server Genre:
Server URL:
Stream Status: (1 bedeutet, dass der Server läuft)
Zuhörer: (von maximal Zuhörern)
Aktueller Titel: (Titel des aktuellen Liedes)

 

 

IP Programm Verbunden seit
Keine Zuhörer verbunden.
sek

 

 

Abspielzeit Song Titel
Keine Titel abgespielt.