Php infos shoutcast

Description

"Php infos shoutcast" est un petit script tout simple qui affiche les infos utiles d'un serveur shoutcast.
Correction d'un bug avec les accents du titre en cours.

Source / Exemple :


&#65279;<?php

// Shoutcast infos - RADIO87 - www.radio87.fr

$server = "xxx.xxx.xxx.xxx"; // Ip du serveur
$port = "xxxx"; // Port du serveur

$url = "http://www.google.com/search?&q=";
$extension = ".mp3";
$listen = "listen.pls";

$date = date("d-m-Y");
$heure = date("H:i:s");

    $fp = @fsockopen($server, $port, $errno, $errstr, 30);
 
    if ($fp) {
        fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
        while(!feof($fp))
            $page .= fgets($fp, 1000);
        fclose($fp);
        $page = ereg_replace(".*<body>", "", $page);
        $page = ereg_replace("</body>.*", ",", $page);
        $numbers = explode(",", $page);
        $shoutcast_currentlisteners = $numbers[0];
        $connected = $numbers[1];
        if($connected == 1) {
            $radio_status = 1;
            $wordconnected = "yes";
        }
        else
            $wordconnected = "no";
        $shoutcast_peaklisteners = $numbers[2];
        $shoutcast_maxlisteners = $numbers[3];
        $shoutcast_reportedlisteners = $numbers[4];
        $shoutcast_bitrate = $numbers[5];
        $shoutcast_cursong = $numbers[6];
        $shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners;
        $shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners;
    }

function suppr_accents($str, $encoding='windows-1252')
{
$str = htmlentities($str, ENT_NOQUOTES, $encoding);
$str = preg_replace('#&([A-za-z])(?:acute|grave|cedil|circ|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str);
$str = preg_replace('#&[^;]+;#', '', $str);
return $str;
}
$shoutcast_cursong_l = suppr_accents($shoutcast_cursong);

echo '<html>
<head>
<title>Shoutcast infos</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: #FFFFFF;
margin: 8px 8px 8px 8px;
text-align: left;
color: #000000;
font-family: Verdana;
font-size: 14px;
}
a:link {
color: #FF0000;
text-decoration: underline;
}
a:visited {
color: #FF0000;
text-decoration: underline;
}
a:active {
color: #FF0000;
text-decoration: underline;
}
a:hover {
color: #000000;
text-decoration: underline;
}
</style>
<meta http-equiv="refresh" content="30"; url="shoutcast_infos.php">
</head>
<body>';
if ($radio_status == 1) {
    echo 'ON AIR ! / <a href="http://' . $server. ':' . $port . '/' . $listen . '" target="_blank" title="Ecoutez la radio en direct !">Ecouter</a><br><br>Titre en cours : <b>' . $shoutcast_cursong_l . '</b><br><a href="' . $url . '' . $shoutcast_cursong_l . '' . $extension . '" target="_blank" title="Choisissez la plateforme de téléchargement légal qui vous convient le mieux !">Télécharger</a><br><br>Actuellement il y a <b>' . $shoutcast_currentlisteners . '</b> auditeurs<br>Qualité du stream : <b>' . $shoutcast_bitrate . '</b> Kbps<br>Le serveur peut accueillir : <b>' . $shoutcast_maxlisteners . '</b> auditeurs<br>Audience maximum : <b>' . $shoutcast_peaklisteners . '</b><br>Bande passante maximale : <b>' . $shoutcast_peakbwidth . '</b> Kbps<br><br><br><i>'. $date .' '. $heure .'<br>Actualisation toutes les 30 secondes</i>';
}    
    else {
        echo 'OFF AIR';
}
echo '</body></html>';
?>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.