Php script now playing SHOUTcast

Voor op je radio website weer te geven wat er momenteel draait hebben wij een php script die informatie inleest van de SHOUTcast server.

Je kunt het script hier downloaden.

Pak het bestand uit (zip), open het met notepad pas het volgende aan: ip adres en portnummer.
$fp = fsockopen(“192.168.1.1”, “8000”, &$errno, &$errstr, 30);

Sla het bestand op,  en upload now_playing.php bestand naar je webserver.

*Tip je kan dit script in een bestaande pagina tonen, doormiddel van  “iframe”, de informatie word automatisch vernieuwd  na 30 seconden.

About the Author

16 thoughts on “Php script now playing SHOUTcast

  1. richard - 9 september 2009 at 21:06

    hey

    ik kan er niet echt uitkomen met het now playing script

    je moet hem uploaden naar de webserver hoe doe ik dat

    ben net begonnen namelijk haha

    we werken met sam en soutcast server monitor kan het dan wel?

    alvast bedankt

    groeten richard

  2. Webmaster - 10 september 2009 at 11:16

    Beste Richard,

    Uploaden van het php file doe je door middel van een ftp client programma. Een goed gratis ftp client programma is FileZilla. Let op je webserver moet php scripts ondersteunen.

    Groeten en succes,
    Webmasterl

  3. Johnny - 24 september 2009 at 02:49

    ja ik heb dit dus geprobeerd maar het script zegt dat het station offline is. Terwijl ik toch echt 24/7 aan het uitzenden ben.

    Wat kan ik doen?

  4. dwin - 26 oktober 2009 at 19:30

    Ik krijg het script ook niet aan de praat

    heb voldoende kennis van html en wat basis kennis php.

    Maar krijg geen info door

  5. Webmaster - 26 oktober 2009 at 22:40

    Welke error krijg je te zien in now_playing.php? Als je niks ziet staat error_reporting niet aan… zie http://www.php.net

  6. John - 2 december 2009 at 15:47

    je krijgt te zien dat het station offline is.
    maar dat klopt niet

  7. robbie - 6 maart 2010 at 23:28

    het script werkt wel maar krijg deze error:

    Warning: Call-time pass-by-reference has been deprecated in /mnt/web8/23/19/51957719/htdocs/cgi-htdoc/now_playing.php on line 42

    Warning: Call-time pass-by-reference has been deprecated in /mnt/web8/23/19/51957719/htdocs/cgi-htdoc/now_playing.php on line 42

  8. Webmaster - 8 maart 2010 at 10:07

    Zoek even op google “Warning: Call-time pass-by-reference” dan staan genoeg antwoorden

  9. rudy - 12 augustus 2010 at 20:24

    hallo
    ik heb een vraag ik heb een site en wil graag een nowplayer er op hebben
    ik werk met webpage maker om mijn site inelkaar te zetten
    ik heb geen idee hoe het werkt met php
    kan iemand me helpen

    mvg rudy

  10. Erik - 3 februari 2011 at 17:28

    Hellaas vind ik bij het installeren van het script een aantal schoonheidsfoutjes.

    Maar dit vis je er zo uit, en hij doet het! Bedankt

  11. Webmaster - 3 februari 2011 at 20:05

    Beste Erik,

    Kan jij ze met ons delen die schoonheidsfoutjes?

    Groeten,
    Michel

  12. sjani - 12 juli 2011 at 19:28

    kan iemand mij helpen aub ik heb geen verstand van php of wat dan ook zodat wij hem kunnen uploaden naar onze server toe .

  13. jeroen - 16 maart 2013 at 13:31

    Het schoonheidfoutje wat er in zit, is dat er na <? geen php staat. Daardoor werkt het niet.
    Je moet <? vervangen door <?php

  14. Youri - 24 oktober 2013 at 02:10

    Hey hallo.

    Ik heb tot voor kort gebruik gemaakt van de shoutcast player, maar die werkt niet bij iedereen even goed. Voornamelijk mensen die Linux draaien kunnen deze niet altijd gebruiken.

    Ons netwerk (Ramteam) is groot en bestaat uit een tiental websites, waar wij op elke site de stream aanbieden.

    De stream wordt gehost in een datacenter en is volkomen legaal.

    Nu is het zo dat elke website draait op een CMS.
    Op elke website is de streamplayer (momenteel een kleine) in de broncode ondergebracht.

    Mijn vraag is dan ook, wat moet ik doen om dit script op de frontpage te laten zien in een block (cms = xoops, een zijtak van vbulletin, al sinds 2003).

    Graag hulp hierbij. Een nieuwe website wordt binnen twee weken geopend, dan willen we dit voor elkaar hebben.

    Alvast dank.

  15. Eugen - 26 november 2014 at 17:17

    Hello Webmaster,
    Thank you for this great script, i am using it and i am very happy with it.

    I have one issue, if now playing track name contains a comma symbol, for example:
    Artist 1, Artist 2 – Song Name
    the script displays everything up to comma symbol, like this:
    Artist 1
    Is there anything that can be done, or is it shoutcast software fault rather than your script?

    Thank again!

  16. Paul Balen - 19 oktober 2016 at 17:33

    Ik heb jouw code aangepast aangezien ik een heleboel fout meldingen kreeg met PHP 5.3.5. en ik denk dat anderen hier misschien wat aan hebben die ook veel foutmeldingen kregen , maar niet weten hoe dit op te lossen.

    code:

    <?php
    $ipaddress = "192.168.1.1";//pas server adres aan naar jou shoutcast server
    $openport = "8000"; //pas poort aan naar jou poort
    $stationname = "Internet Radio"; // Geef de naam op van je radio station

    echo " Nu op ".$stationname."”;

    $fp = fsockopen($ipaddress, $openport, $errno, $errstr, 30);

    //Kijken of er een connectie gemaakt kan worden ( of de server dus ONLINE is )
    if(!$fp) {
    $connect=0;
    } else{
    $connect=1;
    }

    //als die dat is dan haalt die 7.html binnen van de shoutcast server
    if($connect != “0”){
    fputs($fp,”GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n”);
    while(!feof($fp)) {
    //de var $page krijgt als waarde de inhoud van 7.html van de shoutcast server
    $page = fgets($fp, 1000);
    }

    //Verbinding kan worden verbroken die hebben we niet meer nodig
    fclose($fp);

    //De onnodige dingen er uit halen
    $page = preg_replace(“”, “”, $page);
    $page = preg_replace(“”, “,”, $page);

    //Het geen wat over blijft uit elkaar raveleen
    $numbers = explode(“,”,$page);

    //kijken of de Winamp plugin aan het “streamen” is
    $streaming=$numbers[1];

    //Als die dat is geef $song de waarde van de song uit $page ( 7.html )
    if($streaming == “1”){
    $song = $numbers[6];
    }

    //Als die niet streamd dan geef $status de waarde nostream
    if($streaming != “1”){
    $status = “nostream”;
    }else{
    $status= ” Stream”;
    }

    }
    //Als er in het begin geen connectie is gemaakt geef dan een text weer…
    if($connect == “0”){
    echo “Onze Server is op dit moment niet online
    Sorry voor het ongemak.”;
    }

    else {
    //Als er geen uitzending is geef dan ook melding weer
    if($status == ‘nostream’){
    echo “Op dit moment geen uitzending. Dit ligt aan de Server van “.$stationname;
    }

    //als alles goed is geef dan de song weer
    else {
    echo ” $song”;
    }
    }
    ?>

Leave a Reply