Hee,
Ik zit al een hele tijd met het volgende probleem. Ik heb een script geschreven die controleert of mijn internetradio/server aanstaat. Zo ja, dan wordt vervolgens het aantal luisteraars gecontroleert. Wanneer dit het aantal 10 heeft bereikt dan moet de status van de server veranderen in Full (in het oranje). Dat laatste wil dus niet lukken en ik ben er toch al enkele weken, zo niet maanden mee bezig.
Hieronder de volledige code:
De pieces worden door een explode van een html file aangemaakt. Wanneer ik gewoon alleen <? echo $pieces[0]; ?> doe dan komt er netjes de waarde van de aanwezige luisteraars te staan.
Waarom werkt de IF functie dan niet en wordt de status niet oranje?!?
De pieces worden dus uit het volgende adres gehaald: http://shoutcast.stx.nl:8000/7.html
Hierbij is de 1e waarde de aantal luisteraars, 2e online/offline, 3e listeners peak, 4e max luisteraars, 5e geen idee, 6e de bitrate en de laatste het nummer wat momenteel afgespeeld wordt.
Nog even voor de duidelijkheid, ik zorg voor het testen uiteraard dat het aantal aanwezige luisteraars gelijk is met de $maxlisteners.
Verder had ik nog een andere vraag. Ik heb op me site 3 scripts staan die één voor één verbinding maken met me thuisserver waarop de muziek uitgezonden wordt. Is het beter om dit te combineren door 1 php bestand maken met daarin de connectie en deze dan bij de 3 scripts te includen, of gaat dat niet lukken?
Ik zit al een hele tijd met het volgende probleem. Ik heb een script geschreven die controleert of mijn internetradio/server aanstaat. Zo ja, dan wordt vervolgens het aantal luisteraars gecontroleert. Wanneer dit het aantal 10 heeft bereikt dan moet de status van de server veranderen in Full (in het oranje). Dat laatste wil dus niet lukken en ik ben er toch al enkele weken, zo niet maanden mee bezig.
Hieronder de volledige 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
| <?php error_reporting(0); function getcontent($server, $port, $file) { $cont = ""; $ip = gethostbyname($server); $fp = fsockopen($ip, $port, $errno, $errstr, 3); if (!$fp) { $status = "<font color=\"red\">Offline</font>"; } else { $com = "GET $file HTTP/1.0\r\nAccept: */*\r\nAccept-Language: de-ch\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 5.0)\r\nHost: $server:$port\r\nConnection: Keep-Alive\r\n\r\n"; fputs($fp, $com); while (!feof($fp)) { $cont .= fread($fp, 500); } fclose($fp); $cont = substr($cont, strpos($cont, "\r\n\r\n") + 4); return $cont; } } $scip = "shoutcast.stx.nl"; $scport = "8000"; $basecontent = getcontent($scip, $scport, "/7.html"); $pieces = explode(",", $basecontent); $songs = "1089"; $maxlisteners = 10; $maintenance = false; // Check if the server is currently broadcasting if ($maintenance) { $status = "<font color=\"red\">Server is in maintenance. Please come back later!</font>"; $songs = ""; } elseif ($pieces[1] == "1") { if ($pieces[0] == $maxlisteners) { $status = "<font color=\"orange\">Server is full, try again later!</font>"; } else { $status = "<font color=\"green\">Online</font>"; } } else { $status = "<font color=\"red\">Offline</font>"; $songs = ""; } ?> <html> <head> <SCRIPT LANGUAGE=JAVASCRIPT> <!-- hide function go() { window.location.href="index.php" } --> </SCRIPT> </head> <body onLoad="setTimeout('go()',30000)"> <div style="width: 100px; float: left;">Server is<br />Listeners<br />Listener peak<br />Max listeners<br />Bitrate (kbps)<br />Number of songs<br />Current Song</div> <div style="width: auto; margin-left: 100px;"> : <? echo $status; ?><br /> : <? echo $pieces[0]; ?><br /> : <? echo $pieces[2]; ?><br /> : <? echo $pieces[3]; ?><br /> : <? echo $pieces[5]; ?><br /> : <? echo $songs; ?><br /> : <? echo $pieces[6]; ?> </div> </body> </html> |
De pieces worden door een explode van een html file aangemaakt. Wanneer ik gewoon alleen <? echo $pieces[0]; ?> doe dan komt er netjes de waarde van de aanwezige luisteraars te staan.
Waarom werkt de IF functie dan niet en wordt de status niet oranje?!?
De pieces worden dus uit het volgende adres gehaald: http://shoutcast.stx.nl:8000/7.html
Hierbij is de 1e waarde de aantal luisteraars, 2e online/offline, 3e listeners peak, 4e max luisteraars, 5e geen idee, 6e de bitrate en de laatste het nummer wat momenteel afgespeeld wordt.
Nog even voor de duidelijkheid, ik zorg voor het testen uiteraard dat het aantal aanwezige luisteraars gelijk is met de $maxlisteners.
Verder had ik nog een andere vraag. Ik heb op me site 3 scripts staan die één voor één verbinding maken met me thuisserver waarop de muziek uitgezonden wordt. Is het beter om dit te combineren door 1 php bestand maken met daarin de connectie en deze dan bij de 3 scripts te includen, of gaat dat niet lukken?
[ Voor 47% gewijzigd door Creepy op 03-10-2006 17:19 ]