Php tracklist shoutcast

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 600 fois - Téléchargée 14 fois

Contenu du snippet

Php Tracklist Shoutcast est un petit script tout simple qui permet d'afficher le titre en cours ainsi que les derniers titres diffusés sur un serveur Shoutcast.

Source / Exemple :


<?php

error_reporting(E_ERROR); 

$ip_serveur = 'xxx.xxx.xxx.xxx';
$port_serveur = 'xxxx';

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

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

$refresh = '33';
$jsOutput = FALSE;

$host = $_REQUEST[host]; 
if (!$host) $host = $ip_serveur; 
$port = $_REQUEST[port]; 
if (!$port) $port = $port_serveur; 

$lf = chr(10);

$t_max = $_REQUEST[n]; 
if (!t_max || $t_max<1 || $t_max>19) $t_max=10; 

$connect_timeout=5; 
$success=0; 

$fp1 = fsockopen($host, $port, &$errno, &$errstr, $connect_timeout);
if(!$fp1) {
fclose($fp1); 
$success++; 
} else { 
$request="GET /index.html HTTP/1.1\r\nHost:" . $host . ":" . $port . "\r\nUser-Agent: SHOUTcast DNAS Status [index] * (Mozilla/PHP)\r\nConnection: close\r\n\r\n";
fputs($fp1,$request,strlen($request)); 
$page=''; 
while(!feof($fp1)) { 
$page .= fread($fp1, 16384); 
} 
fclose($fp1); 

$song00 = ereg_replace("</b></td>.*", "", ereg_replace(".*Current Song: </font></td><td><font class=default><b>", "", $page)); 

$fp = fsockopen($host, $port, &$errno, &$errstr, $connect_timeout); 
if(!$fp) {
fclose($fp); 
$success++; 

} else { 
$request="GET /played.html HTTP/1.1\r\nHost: " . $host . ":" . $port . "\r\nUser-Agent: SHOUTcast DNAS Status [played] * (Mozilla/PHP)\r\n"."Connection: close\r\n\r\n"; 
fputs($fp,$request,strlen($request)); 
$page=''; 
while (!feof($fp)) { 
$page .= fread($fp, 16384); 
} 
fclose($fp);
$played_html=$page; 

if ($played_html) { 
$played_html= ereg_replace('<x>','|-|',ereg_replace('</tr>','',ereg_replace('</td><td>','<x>',ereg_replace('<tr><td>','',ereg_replace('</tr>','</tr>' . $lf,ereg_replace('-->','--]',ereg_replace('<!--','[!--',ereg_replace('</table><br><br>.*','',ereg_replace('.*<b>Current Song</b></td></tr>','',$played_html))))))))); 
$xxn=strlen($played_html); 
$r=2; 
$t_count=0; 
$reading=0; 
$track[0]=$song00; 
while ($r<$xxn & $t_count<=$t_max){ 
$cur=substr($played_html,$r,1); 
if ($cur==$lf) $reading=0; 
if ($reading==1) $track[$t_count] .= $cur; 
if ($cur=="|" & substr($played_html,$r-1,1)=="-" & substr($played_html,$r-2,1)=="|") { 
$reading=1; 
$t_count++; 
} 
$r++; 
} 
} 
} 
} 

if ($success==0) { 

if ($jsOutput) {
header('Content-type: text/javascript');
} else {
echo '<html> 
<head><title>Tracklist - En ce moment : ' . $track[0] . '</title>
<meta http-equiv="refresh" content="' . $refresh . ';URL=' . $_SERVER['PHP_SELF'] . '">
</head> 
<body>'; 
} 

$r=0; 
$output_string=''; 

$output_string .= 'Tracklist<br><br><br>'; 

while ($r<=$t_max){ 
if ($r==0) $output_string .= '<u>En ce moment</u> :<br><br><strong>'.str_replace("'", "'",str_replace('"', '"',$track[$r])).'</strong><br><a href="' . $url . ' ' . $track[$r] . '' . $extension . '" target="_blank">Télécharger</a><br><br><br><br><u>Derniers titres diffusés</u> :<br><br>'; 
else $output_string .= str_replace("'", "'",str_replace('"', '"',$track[$r])) . '<br>'; 

$r++; 
} 

$output_string .= ''; 

if ($jsOutput) { 
echo "document.write('" . $output_string . "');"; 
} else { 
echo $output_string . '<br><br>' . $heure . ' - ' . $date . '<br><br></body></html>'; 
} 

} else {
if ($jsOutput) echo "document.write('OFF AIR !');"; 
else echo '<html><head><title>Tracklist indisponible</title>
<meta http-equiv="refresh" content="' . $refresh . ';URL=' . $_SERVER['PHP_SELF'] . '">
<body>Tracklist
<br><br><i>indisponible<br>' . $heure . ' - ' . $date . '</i><br><br></body></html>';

} 
?>

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.