Bonjour , j'ai passer de nombreux mois
voir méme années a avoir un script
de titre en cours avec pochette qui sactualise seul
je vous mais ici la totalité de mais script
vue que beaucoup de personne partage leur script pourquoi pas moi ci je peut aidé :)
1 script de titre en cours
<?
$ip = "xxx.xxx.xx.xxx"; // Mettre ici l'IP ou host de votre serveur Shoutcast. Ne pas mettre http:// devant
$port = "xxxx"; // placer ici le port du serveur Shoutcast. //
//
//
// fin de la configuration //
$fp = @fsockopen("$ip", "$port", $errno, $errstr, 30);
if(!$fp)
{
$auditeurs = "0";
$places = "0";
$etat = "Serveur déconnecté.";
}
else
{
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla/4.0\r\n\r\n");
while(!feof($fp))
{
$content .= fgets($fp,128);
}
fclose($fp);
$debut = strpos($content, '<body>') + strlen('<body>');
$fin = strpos($content, '</body>', $debut);
$servi = substr($content, $debut, $fin - $debut);
$option = explode(',', $servi);
if ($option[1] == 0)
{
// Serveur connecter aucune source stream //
$auditeurs = "0";
$places = "0";
$etat = "Aucune source serveur connectée.";
}
else
{
// Serveur connecté stream ok //
$auditeurs = $option[0];
$pointe = $option[2];
$places = $option[3];
$bitrate = $option[5];
$titre = $option[6];
$etat = "Source connectée serveur connecté serveur Ok !";
}
}
$titre = str_replace("ÿ","é",$titre);
echo"$titre";
?>
2éme code le plus indérésent je pense et surtout le plus rare a trouver ( script de pochette )
<?php
$host = "xxx.xxx.xx.xxx"; // Mettre ici l'IP de votre serveur Shoutcast.
$port = "xxxx"; // 8000
$na = "defaut.jpg"; // Image si le script ne trouve pas la pochette.
$rep = "pochettes"; // le fichier avec vos pochettes.
$fp = @fsockopen("$ip", "$port", $errno, $errstr, 30);
if(!$fp)
{
$auditeurs = "0";
$places = "0";
$etat = "";
}
else
{
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla/4.0\r\n\r\n");
while(!feof($fp))
{
$content .= fgets($fp,128);
}
fclose($fp);
$debut = strpos($content, '<body>') + strlen('<body>');
$fin = strpos($content, '</body>', $debut);
$servi = substr($content, $debut, $fin - $debut);
$option = explode(',', $servi);
if ($option[1] == 0)
{
// Serveur connecter aucune source stream //
$auditeurs = "0";
$places = "0";
$etat = "<img src=down.gif></a>";
}
else
{
// Serveur connecter stream ok //
$auditeurs = $option[0];
$pointe = $option[2];
$places = $option[3];
$bitrate = $option[5];
$titre = $option[6];
$etat = "";
}
}
$titre = str_replace("ÿ","é",$titre); // on remplace comme on a dit précédement dans le topic //
//echo"Actuellement $auditeurs auditeur(s) sur $places places.";
//echo"Pointe de $pointe auditeur(s) sur ce serveur.";
//echo"Actuellement stream a : $bitrate kbps.";
echo"$etat";
// Connect to server
$fp=@fsockopen($host,$port,$errno,$errstr,10);
if (!$fp) {
echo "";
} 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);
$trackpattern = "/^[0-9][0-9] /";
$trackreplace = "";
$song = preg_replace($trackpattern, $trackreplace, $song);
if ($status == "1") {
$par=explode(' - ', $song, 2);
if (file_exists($rep."/".$song.".png")) {
echo "<img border=\"0\" src=\"".$rep."/".$song.".png\">";
} else {
if (file_exists($rep."/".$song.".jpg")) {
echo "<img border=\"0\" src=\"".$rep."/".$song.".jpg\">";
} else {
if (file_exists($rep."/".$song.".jpeg")) {
echo "<img border=\"0\" src=\"".$rep."/".$song.".jpeg\">";
} else {
if (file_exists($rep."/".$song.".gif")) {
echo "<img border=\"0\" src=\"".$rep."/".$song.".gif\">";
} else {
echo "<img border=\"0\" src=\"".$rep."/".$na."\">";
}
}}}}}
?>
petite éxplication sur cette ligne pour ceux qui ce pose des question
$rep = "pochettes"; // le fichier avec vos pochettes.
y fau crée un répertoire sur votre FTP la c pochettes mais a vous de le changer les pochette doive avoir le nom éxacte de la chanson
avec les espace .. les pochettes peuve étre en png , jpg , gif ou , jpeg
Dernier script lactualisation des pochette et titre en cours on va passer par du bon ajax ^^
la le script et crée pour actualiser plisieur chose titre en cours dédicase pochette ext... apré a vous de le modifier ou de le laisser comme sa sa peut aussi marcher ^^
<script LANGUAGE="JavaScript">
function highlight(field)
{
field.focus();
field.select();
}
var $j = jQuery.noConflict();
$j(function() {
aj();
aj2();
aj3();
aj4();
});
function aj() {
$j.get('Titre.php', {idserv: '332', date: new Date().getTime()}, function( data ){
document.getElementById("titre").innerHTML = data;
reload();
});
}
function aj2() {
$j.get('Pochettes.php', {idserv: '332', date: new Date().getTime()}, function( data ){
document.getElementById("pochette").innerHTML = data;
});
}
function aj3() {
$j.get('auditeur.php', {idserv: '332', date: new Date().getTime()}, function( data ){
document.getElementById("auditeur").innerHTML = data;
reload2();
decompte();
});
}
function aj4() {
$j.get('dedi.php', {idserv: '332', date: new Date().getTime()}, function( data ){
document.getElementById("dedi").innerHTML = data;
reload3();
});
}
function reload3(){
setTimeout("aj4()",10000);
}
function reload2(){
setTimeout("aj4()",60000);
}
function reload(){
setTimeout("aj();aj2();aj3()",30000);
}
function dedi(id) {
window.open ('dedicace.php?idserv='+id, '_blank', config='height=260, width=600, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no')
}
function decompte() {
var time= document.getElementById("refresh").innerHTML;
if(time <= 0) { time = 30; }
if(time >= 2 ) {
document.getElementById("refresh").innerHTML=eval(time-1);
window.setTimeout("decompte()",1000);
}
}
</script>
ce script et a métre dans votre page de votre site l'index ou autre ou toute vos page ^^
la le script n'afichera pas les titre en cours pochette ext ...
pour l'afichier sur votre site y fau rajouter sa =>
<span id='pochette'></span>
<span id='auditeur'></span>
<span id='titre'></span>
A rajouter au endroi désiré entre vos div ou autre ...
désolé pour les faute d'ortographe
je me suis déja fait violence pour pas écrire l'angage sms c'est sa quand on passe son temps sur irc on c'est pu écrire aprés ^^