Radio script
Klaas is hier :)
ik loop nu ik de laatste php versie heb tegen een probleem op.
het radio script wat ik nu gebruik werkt helaas niet meer omdat er een paar dingen zijn veranderd
bv:
nu heb ik gelezen dat je de ereg_replace moet veranderen in preg_replace.
maar ik kom er niet helemaal uit wat betreft de zoekstringen etc..
zou iemand didt script kunnen fixen?
momenteel verdwaal ik er in.
bvd: Klaas
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<script>
<!--
/*
Auto Refresh Page with Time script
By JavaScript Kit (javascriptkit.com)
Over 200+ free scripts here!
*/
//enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
var limit="0:30"
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!"
else
curtime=cursec+" seconds left until page refresh!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</script>
<?php
//Configuration
$scdef = " "; // Default station name to display when server or stream is down
$scip = " "; // ip or url of shoutcast server
$scport = " "; // port of shoutcast server
$scpass = ""; // password to shoutcast server
$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 10);
if(!$scfp) {
$scsuccs=1;
echo''.$scdef.'Radio Is Currently Offline';
}
if($scsuccs!=1){
fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
while(!feof($scfp)) {
$page .= fgets($scfp, 1000);
}
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define xml elements
$loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS");
$y=0;
while($loop[$y]!=''){
$pageed = ereg_replace(".*<$loop[$y]>", "", $page);
$scphp = strtolower($loop[$y]);
$$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
$$scphp = urldecode($$scphp);
// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
$y++;
}
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
$pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
//$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
$songatime = explode("<SONG>", $pageed);
$r=1;
while($songatime[$r]!=""){
$t=$r-1;
$playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
$playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
$song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
// $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
$song[$t] = urldecode($song[$t]);
$dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
// $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
}
//end song info
fclose($scfp);
}
//display stats
if($streamstatus == "1"){
//you may edit the html below, make sure to keep variable intact
echo"
<center>
<table>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
My Last Fm: <br>
<img src='images/lastfm.png' border='0'></img></td>
<td>
<img src='images/test.png' border='0'></img></td>
<td><img src='images/master1.png' border='0'></img></td>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
Dj:<b>".$servertitle."</b><br>
Bitrate:<b>".$bitrate."kbps</b><br>
Current Listeners:<b>".$currentlisteners."</b> <br>
Max Listeners: <b>30</b></td>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
<marquee>Now Playing: <b>".$song[0]."</marquee></b><br>
Last Played: <b>".$song[1]."</b></font></td>
<td>
<img src='images/Tower1.png'alt='Tower' border='0'></img></td>
</tr>
</table></center>";
}
if($streamstatus == "0")
{
//you may edit the html below, make sure to keep variable intact
echo "
<center>
<table>
<tr>
<td>
<td><img src='images/radiodown.png' border='0'></img></td>
</tr>
</table></center>";
}
?>
<!--
/*
Auto Refresh Page with Time script
By JavaScript Kit (javascriptkit.com)
Over 200+ free scripts here!
*/
//enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
var limit="0:30"
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!"
else
curtime=cursec+" seconds left until page refresh!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</script>
<?php
//Configuration
$scdef = " "; // Default station name to display when server or stream is down
$scip = " "; // ip or url of shoutcast server
$scport = " "; // port of shoutcast server
$scpass = ""; // password to shoutcast server
$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 10);
if(!$scfp) {
$scsuccs=1;
echo''.$scdef.'Radio Is Currently Offline';
}
if($scsuccs!=1){
fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
while(!feof($scfp)) {
$page .= fgets($scfp, 1000);
}
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define xml elements
$loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS");
$y=0;
while($loop[$y]!=''){
$pageed = ereg_replace(".*<$loop[$y]>", "", $page);
$scphp = strtolower($loop[$y]);
$$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
$$scphp = urldecode($$scphp);
// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
$y++;
}
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
$pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
//$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
$songatime = explode("<SONG>", $pageed);
$r=1;
while($songatime[$r]!=""){
$t=$r-1;
$playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
$playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
$song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
// $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
$song[$t] = urldecode($song[$t]);
$dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
// $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
}
//end song info
fclose($scfp);
}
//display stats
if($streamstatus == "1"){
//you may edit the html below, make sure to keep variable intact
echo"
<center>
<table>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
My Last Fm: <br>
<img src='images/lastfm.png' border='0'></img></td>
<td>
<img src='images/test.png' border='0'></img></td>
<td><img src='images/master1.png' border='0'></img></td>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
Dj:<b>".$servertitle."</b><br>
Bitrate:<b>".$bitrate."kbps</b><br>
Current Listeners:<b>".$currentlisteners."</b> <br>
Max Listeners: <b>30</b></td>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
<marquee>Now Playing: <b>".$song[0]."</marquee></b><br>
Last Played: <b>".$song[1]."</b></font></td>
<td>
<img src='images/Tower1.png'alt='Tower' border='0'></img></td>
</tr>
</table></center>";
}
if($streamstatus == "0")
{
//you may edit the html below, make sure to keep variable intact
echo "
<center>
<table>
<tr>
<td>
<td><img src='images/radiodown.png' border='0'></img></td>
</tr>
</table></center>";
}
?>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken i.p.v. quote-tags. Deze zijn voorbehouden aan het citeren van teksten.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 27/07/2014 08:32:21 door - Ariën -
Ter info:
Die toegevoegde / aan het begin en eind zijn is de 'delimiter' Na de laatste slash kan je een modifier gebruiken om bijv. in te stellen of iets hoofdlettergevoelig is, of er specifiek naar woorden moet worden gezocht en dergelijke.
Gewijzigd op 27/07/2014 08:37:20 door - Ariën -
heb nu geen errors meer maar wel een blanke pagina nu...
das het grootste probleem..
heb al veel gegoogled etc voor een oplossing maar helaas geen success nog..
bvd Aar!
str_replace. Veel makkelijker en sneller.
Als ik het goed zie gebruik je ereg_replace waar je het helemaal niet nodig hebt. Zo te zien zijn het allemaal simpele string vervangingen en dan kan je dat veel beter doen met volgens mij moet ik veel meer aanpassen op de een of andere manier Erwin.....
wat ik wel heb gevonden is dat een andere scriots bv dit gebruikt
Code (php)
1
2
3
4
5
2
3
4
5
Server State:<b> $state</b><br>
Bitrate: <b>$text[5] Kbps</b><br>
Now Playing: <b>$text[6] </b><br>
Listeners: <b>$text[0] of $text[3] ($text[4] Unique)</b><br>
Listener Peak: <b> $text[2]</b><br>
Bitrate: <b>$text[5] Kbps</b><br>
Now Playing: <b>$text[6] </b><br>
Listeners: <b>$text[0] of $text[3] ($text[4] Unique)</b><br>
Listener Peak: <b> $text[2]</b><br>
hij geeft dus de $text[6] (bv) aan en die werkt....
Klinkt alsof je nog niets bent begonnen met debuggen.... Het eerste wat je doet als je een lege pagina krijgt is zoeken op welke regel het probleem zit. Errorreporting aanzetten en als dat niet helpt (maw als je geen fouten krijgt), is desnoods regel voor regel echo's zetten zodat je weet tot waar je script nog komt en dus, dat je weet waar het vastloopt.
- ga goed inspringen
- zet PHP code bovenin en de OUTPUT onderin:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// hier heel je PHP logica shit ZONDER ook maar enige output
$message = '';
if(validate())
{
header('flauwekul.php');
exit;
}
?>
<!-- HIER PAS JE OUTPUT -->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<!-- IN DE OUTPUT MAG JE WEL KLEINE STUKJES PHP GEBRUIKEN OM DE VARIABELEN TE ECHON -->
<p><?php echo $message; ?></p>
</body>
</html>
// hier heel je PHP logica shit ZONDER ook maar enige output
$message = '';
if(validate())
{
header('flauwekul.php');
exit;
}
?>
<!-- HIER PAS JE OUTPUT -->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<!-- IN DE OUTPUT MAG JE WEL KLEINE STUKJES PHP GEBRUIKEN OM DE VARIABELEN TE ECHON -->
<p><?php echo $message; ?></p>
</body>
</html>
Toevoeging op 27/07/2014 12:09:04:
(javascript is ook output)
het is opgelost mijne heren... dank U