[Func] Shoutcast lastplayed
Auteur: TFOL - 30 december 2005 - 13:58 - Gekeurd door: Ontani - Hits: 4525 - Aantal punten: (0 stemmen)
Hallo,
Zie hieronder voor een voorbeeld om te gebruiken met van uitleg erbij. Heb je vragen, plaats dan een reactie.
Code:
functie:
<?php
function lastplayed($url, $port, $aantal)
{
#Copyright: Robin Esselink
#Mail: robin.msn@gmail.com
#Alleen voor sitemasters.be, tenzij er toestemming is van de maker
set_time_limit(1);
$fp = fsockopen($url, $port, $errno, $errstr, 1);
$out = "GET /played.html HTTP/1.1\nUser-Agent:Mozilla\n\n";
fwrite($fp,$out);
$i = 0;
while (!feof($fp)) {
$data = fgets($fp, 2000000);
}
//layout strippen
$data = explode("Song Title",$data);
$data = explode("</table>",$data[1]);
$data = str_replace("</b>","",$data[0]);
$data = str_replace("<b>Current Song","",$data);
$data = str_replace("</tr><tr><td>", "<br>", $data);
$data = str_replace("</td><td>", "__", $data);
$data = str_replace("<td></td>", "", $data);
$data = str_replace("</tr>", "", $data);
$data = str_replace("</td><br>", "", $data);
//tracks in array zetten
$aTracks = explode("<br>", $data);
$aData = array();
while($i < $aantal)
{
$aTrackdata = explode("__", $aTracks[$i]);
$sTijd = $aTrackdata[0];
$sTrack = $aTrackdata[1];
$aData[$sTijd] = $sTrack;
$i++;
}
return $aData;
fclose($fp);
}
?>
<?php
function lastplayed( $url , $port , $aantal )
{
#Copyright: Robin Esselink
#Mail: robin.msn@gmail.com
#Alleen voor sitemasters.be, tenzij er toestemming is van de maker
$fp = fsockopen ( $url , $port , $errno , $errstr , 1 ) ; $out = "GET /played.html HTTP/1.1\n User-Agent:Mozilla\n \n " ;
$i = 0 ;
$data = fgets ( $fp , 2000000 ) ; }
//layout strippen
$data = explode ( "Song Title" , $data ) ; $data = explode ( "</table>" , $data [ 1 ] ) ;
//tracks in array zetten
while ( $i < $aantal )
{
$aTrackdata = explode ( "__" , $aTracks [ $i ] ) ; $sTijd = $aTrackdata [ 0 ] ;
$sTrack = $aTrackdata [ 1 ] ;
$aData [ $sTijd ] = $sTrack ;
$i ++;
}
return $aData ;
}
?>
voorbeeld om te gebruiken:
<?php
/*
INPUT:
lastplayed(url [vb: re-station.dyndns.org], poort [meestal 8000; zelf gebruik ik 9260], hoeveel tracks weergeven [vb: 5; max 10])
OUTPUT:
er wordt een array terug gestuurd, met als key de tijd en de value bevat de trackname
*/
$aLastplayed = lastplayed("re-station.dyndns.org", 9260, 5);
echo '<table width="500" border="0" align="center">';
foreach($aLastplayed as $tijd => $track)
{
echo '<tr><td width="20%">'.$tijd.'</td><td width="80%">'.$track.'</td></tr>';
}
echo '</table>';
?>
<?php
/*
INPUT:
lastplayed(url [vb: re-station.dyndns.org], poort [meestal 8000; zelf gebruik ik 9260], hoeveel tracks weergeven [vb: 5; max 10])
OUTPUT:
er wordt een array terug gestuurd, met als key de tijd en de value bevat de trackname
*/
$aLastplayed = lastplayed( "re-station.dyndns.org" , 9260 , 5 ) ;
echo '<table width="500" border="0" align="center">' ;
foreach ( $aLastplayed as $tijd => $track )
{
echo '<tr><td width="20%">' . $tijd . '</td><td width="80%">' . $track . '</td></tr>' ; }
?>
Download code (.txt)
Stemmen
Niet ingelogd.