ShoutCast 2 Serverinformationen mit PHP auslesen

  • Hier erkläre ich dir, wie du bestimmte Informationen vom ShoutCast 2 Streamingserver mit PHP auslesen und verarbeiten kannst.

    Damit dieses Script funktioniert, solltest du auf deinem Webspace PHP laufen haben. Dieses Tutorial richtet sich an PHP-Anfänger. Es sind hier keine Programmiererfahrungen notwendig, wären aber von Vorteil um dieses Script zu verstehen und ggf. zu erweitern.


    Als erstes öffne einen Editor deiner Wahl, wie z.B. Notepad++ oder Sublime Text. Den normalen Notepad Editor von Windows würde ich hier abraten, über die Gründe möchte ich in diesem Tutorial nicht sprechen. Wen es jedoch interessieren sollte, kann mich ansprechen.


    Nun ist der Editor offen und wir geben ganz oben am Anfang <?php  ein. Damit sagen wir unserem Webserver, dass ab hier der PHP Code beginnt.

    Nun brauchen wir die ShoutCast 2 Adresse. Diese sieht ungefähr so aus http://ip:port/ z.b. wenn ShoutCast 2 auf deinem lokalem Rechner läuft http://127.0.0.1:8000 Port kann abweichen.


    Nun hängen wir hinter die Adresse noch /stats?sid=1 an. Als Ergebnis solltest du Daten im XML-Format angezeigt bekommen.


    Weiter geht es mit unserem Script. Zurück zum Editor.

    Unter das <?php erstellen wir nun eine Variable. Diese beginnen in PHP immer mit einem $ am Anfang. Wir erstellen also die Variable $url und übergeben ihr, wie der Name schon sagt, die URL zu der ShoutCast 2 XML-Ausgabe. Diese wäre aus unserem Beispiel http://127.0.0.1:8000/stats?sid=1. Die Variable mit dem Wert würde nun so aussehen: $url = 'http://127.0.0.1:8000/stats?sid=1';. Schauen wir uns nun mal unsere PHP-Datei an.

    PHP: info.php
    1. <?php
    2. $url = 'http://127.0.0.1:8000/stats?sid=1';

    Die PHP-Datei habe ich info.php genannt. Den Namen der Datei kannst du natürlich frei wählen. Im Tutorial werden wir jedoch die Datei info.php nennen.


    Um die XML-Ausgabe nun nutzen zu können wie wir sie brauchen, müssen wir erstmals auf die einzelnen Einträge zugreifen. Dies geschieht mit der Funktion, die bereits in PHP-Implementiert ist, simplexml_load_file().

    Nun benötigen wir eine neue Variable, die unsere XML-Daten enthält als Objekt. Diese Variable nennen wir einfach $xml. Noch ist die Variable leer, dieser Variable weisen wir nun einen Wert zu, dieser wäre der gesamte Inhalt der URL im XML-Format.

    Unsere Variable sieht nun so aus: $xml = simplexml_load_file($url);


    Erklärung: Die Variable $xml wird durch simplexml_load_file() mit den Daten gefüllt, diese Daten holt simplexml_load_file() aus der Variable $url.


    Unsere info.php sieht nun so aus:

    PHP: info.php
    1. <?php
    2. $url = 'http://127.0.0.1:8000/stats?sid=1';
    3. $xml = simplexml_load_file($url);

    Nun sind wir soweit um die gewünschten Daten vom Server auszulesen. Dies geschieht ganz einfach mit $xml->XML-TAG;

    Beispielsweise wollen wir den Song auslesen, der gerade gespielt wird: Der XML-Code sieht dazu so aus: <SONGTITLE>Songname....</SONGTITLE>

    In PHP würde unser Code so aussehen: $xml->SONGTITLE;

    Mit der Funktion echo kann in PHP etwas ausgegeben werden. Wenn wir also auf einer Webseite nun unseren Song ausgeben möchten, lautet der Code wie folgt: echo $xml->SONGTITLE; Die Ausgabe wäre nun Songname..... Also immer das, was zwischen <SONGTITLE> und </SONGTITLE> in der XML-Ausgabe sich befindet. Damit wären wir eigentlich schon fertig. Die PHP-Datei wird nun mit ?> geschlossen, was dem Webserver signalisiert, dass der PHP Code hier beendet ist.


    Das ganze nun in unserer info.php:

    PHP: info.php
    1. <?php
    2. $url = 'http://127.0.0.1:8000/stats?sid=1';
    3. $xml = simplexml_load_file($url);
    4. echo $xml->SONGTITLE;
    5. ?>


    Die info.php kannst du nun auf deinen Webserver hochladen und über den Browser aufrufen.


    Sieht simpel aus, oder? Ist es eigentlich auch.

    Viel Spaß damit :)


    Euer Wik

Teilen