Php infos shoutcast

Soyez le premier à donner votre avis sur cette source.

Vue 5 384 fois - Téléchargée 303 fois

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

Ajouter un commentaire

Commentaires

affiche : OFF AIR ... fonctionne pas!
Merci je vais voir ;)
Il existerai pas une api pour ça car ça risque d'être chiant de mettre tout ça sur le ftp , faire peut être une recherche sur amazon
Bonjour,

Si tu as un dossier avec les pochettes, il suffit d'ajouter un champ <img=" avec le nom du titre en cours (sans accent)
Afficher les 6 commentaires

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.