Shoutcast-abfrage
Bingo
- php
Hallo leute,
ich bin langsam am ende... meine dummheit springt mir förmlich aus dem Kopf..
Ich hoffe Ihr könnt mir ein bisschen weiterhelfen ...
und zwar habe ich einen Shoutcastserver...
klappt auch super
ABER jetzt möchte ich in einer PHP datei den Status abfragen ...
das würde denn so ausschauen:
<?php
// simple.php - shoutcast 7.html information display utility
// version 0.1.4a
// To use this script, save this page save simple.php then edit the information below as noted, uncomment what you need
// To imbed the information on your php site use the include function on the page you wish to display the information
// Edit the next two lines with your server information
$host = "+++++++";
$port = "+++++++";
// Connect to server
$fp=@fsockopen($host,$port,&$errno,&$errstr,10);
if (!$fp) {
echo "Unable to connect to server";
} else {
// Get data from server
fputs($fp,"GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n");
// exit if connection broken
for($i=0; $i<1; $i++) {
if(feof($fp)) break;
$fp_data=fread($fp,31337);
usleep(500000);
}
// Strip useless junk from source data
$fp_data=ereg_replace("^.*<body>","",$fp_data);
$fp_data=ereg_replace("</body>.*","",$fp_data);
// Place values from source into variable names
list($current,$status,$peak,$max,$reported,$bit,$song) = explode(",", $fp_data, 7);
if ($status == "1") {
// To use any of the outputs below just uncomment (remove the double forward slashes) that line.
// Below is an example of all data available in the 7.html file made by the Shoutcast server
// **ON BY DEFAULT - COMMENT OUT (put to forwards slashes in front of it) TO HIDE
echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrent Listeners: $current<br>\nServer Status: $status<br>\nListener Peak: $peak<br>\nMaximum Listener: $max<br>\nReported Listeners: $reported<br>\nBroadcast Bitrate: $bit<br>$genre<br>$puplic\nCurrent Song: $genre\n</body>\n</html>";
// Below is a basic one line value of the current song, perfect for front pages of sites
echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrently Playing: <a href="http://$host:$port/listen.pls">$song</a>\r\n</body>\n</html>";
} else {
echo "The radio station is currently down";
} }
?>
So wie Ihr bei "list" sehen könnt werden da die Variablen gezogen oder wie auch immer ....
jedenfalls fehlt da eine Variable und zwar "$genre" also die quasi den DJ anzeigt...
Aber diese Variable existiert nicht...
ABER SIE MUSS
ich habe vorher das Query script von Codebase gehabt..
Ich habe auch schon bei Codebase nachgefragt aber die möchte mir weder das script geben, noch verraten wie ich an diese Variable komme..
Dort konnt ich den DJ auch anzeigen lassen.. Aber leider gab es da ein Problem sobald der Server von denen nicht erreichbar war hatte ich einen Parse error...
deswegen möchte ich es jetzt so machen, das ich direkt meinen Server abfrage...
Habe leider nichts passendes im WWW gefunden ...
BITTE HELFT MIR an diese BLÖDE Variable ranzukommen ..
Vielen Dank im vorraus
gruss Bingo
Hallo Bingo,
<?php
$host = "+++++++";
$port = "+++++++";
$fp=@fsockopen($host,$port,&$errno,&$errstr,10);
if (!$fp) {
echo "Unable to connect to server";
} else {
fputs($fp,"GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n");
fupts($fp,"GET /7.html HTTP/1.1\r\nHost: $host\r\n\r\n");
for($i=0; $i<1; $i++) {
if(feof($fp)) break;
$fp_data=fread($fp,31337);
usleep(500000);
}$fp_data=ereg_replace("^.*<body>","",$fp_data);
$fp_data=ereg_replace("</body>.*","",$fp_data);list($current,$status,$peak,$max,$reported,$bit,$song) = explode(",", $fp_data, 7);
if ($status == "1") {
echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrent Listeners: $current<br>\nServer Status: $status<br>\nListener Peak: $peak<br>\nMaximum Listener: $max<br>\nReported Listeners: $reported<br>\nBroadcast Bitrate: $bit<br>$genre<br>$puplic\nCurrent Song: $genre\n</body>\n</html>";
echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrently Playing: <a href="http://$host:$port/listen.pls">$song</a>\r\n</body>\n</html>";
zwei mal <html> in einem Dokument?!?
} else {
echo "The radio station is currently down";
} }
?>So wie Ihr bei "list" sehen könnt werden da die Variablen gezogen oder wie auch immer ....
jedenfalls fehlt da eine Variable und zwar "$genre" also die quasi den DJ anzeigt...
Aber diese Variable existiert nicht...
ABER SIE MUSS
Sie wird nicht definiert, mehr gibt es da einfach nich von Informationen deinerseits.
BITTE HELFT MIR an diese BLÖDE Variable ranzukommen ..
Bitte gib den Link der auszulesenden Seite an und beschreibe was genau zu geschehen hat. Warum setzt Du ereg_replace(), ob da nun <(/)?body> drinnsteht, oder nicht, stört explode() nicht die Bohne.
Gruß aus Berlin!
eddi
ABER jetzt möchte ich in einer PHP datei den Status abfragen ...
das würde denn so ausschauen:<?php
// Edit the next two lines with your server information
$host = "+++++++";
$port = "+++++++";// Connect to server
$fp=@fsockopen($host,$port,&$errno,&$errstr,10);
hier holst du eine seite von irgendeinem server.
lade diese seite mal mit rex swains http viewer. dann sieht man was drinsteht.
// Place values from source into variable names
list($current,$status,$peak,$max,$reported,$bit,$song) = explode(",", $fp_data, 7);
hier wird ein bestimmter aufbau erwartet.
So wie Ihr bei "list" sehen könnt werden da die Variablen gezogen oder wie auch immer ....
jedenfalls fehlt da eine Variable und zwar "$genre" also die quasi den DJ anzeigt...
Aber diese Variable existiert nicht...
ABER SIE MUSS
ob ja oder nein sieht man mit rex swains http viewer.