Aanpassing aan php script! -> luisteraars Piek

Status
Niet open voor verdere reacties.

superwuppie

Nieuwe gebruiker
Lid geworden
19 jan 2014
Berichten
2
Hallo,

Ik ben een beginnend php gebruiker.
Heb een script gevonden op het internet waar ik graag een kleine toevoeging in wil hebben.

Het script laat de luisteraars zien van onze radiostreams. Telt ze netjes bij elkaar op.
Nu zou ik graag ook een PIEK willen zien. (die dus bij groter dan (>) de boel overschrijft en door een button weer op 0 te zetten is)


Zie bijgevoegd script!
Ik snap een beetje wat er gebeurt, alleen er moet dus een vergelijking komen (in een mysql database neem ik aan????)

$total_listeners = array_sum($listeners) ; telt dus alle luisteraars bij elkaar op.
Ben al avonden aan het zoeken geweest hoe ik dit moet aanpakken. Kom er niet uit.
Database aangemaakt maar of daar de juiste tabel in staat???

Het is allemaal simpel als je het voor je ziet, maar ik kom er niet uit...
Kan iemand me helpen??

PHP:
<?php

$station_name = "Stationsnaam";

$refresh = "15";  // Page refresh time in seconds. Put 0 for no refresh
$timeout = "1"; // Number of seconds before connecton times out - a higher value will slow the page down if any servers are offline

/* ----------- Server configuration ---------- */

// Note: dont include http://
// Main server: The song title will be taken from this server

$ip[1] = "123.456.789"; 
$port[1] = "8000";

/* Relays: Below you can enter more relays / restreams / channels / competitors or anything else */

$ip[2] = "123.456.789";
$port[2] = "8000";

$ip[3] = "123.456.789";
$port[3] = "8000";

$ip[4] = "123.456.789";
$port[4] = "8000";

/* ----- No need to edit below this line ----- */
/* ------------------------------------------- */
$servers = count($ip);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
if ($refresh != "0") 
    {
    print "<meta http-equiv=\"refresh\" content=\"$refresh\">\n";
    }
print "<title>$station_name SHOUTcast statistieken</title>\n";
?>
<style type="text/css">
<!--
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #333333;
    margin: 5px;
    background-color: #fff;
}
div {
    background-color: #fef9f2;
    border: 1px solid #000;
    padding: 4px;
    margin-bottom: 5px;
    width: 425px;
}
div div {
    margin: 5px;
    border: 0;
    background-color: #fef9f2;
    margin: 5px;
    margin-bottom: 0;
}
h1 {
    font-size: 22px;
    color: #000;
    margin: 2px;
}
h2 {
    font-size: 14px;
    color: #336666;
    margin: 2px;
}
p {
    margin: 5px;
}
a {
    color: #666699;
    text-decoration: none;
}
a:hover {
    color: #993333;
}
div.line {
    border-bottom: 1px dashed #000;
    height: 3px;
    font-size: 1px;
    margin-top: 0;
}
div#blu, div#blu div {
    background-color: #b2bfc0;
}
.red {
    color: #CC0000;
    font-weight: bold;
}
.small {
    font-size: 10px;
}
-->
</style>
</head>
<body>
<?php
$i = "1";
while($i<=$servers)
    {
    $fp = @fsockopen($ip[$i],$port[$i],$errno,$errstr,$timeout);
    if (!$fp) 
        { 
        $listeners[$i] = "0";
        $msg[$i] = "<span class=\"red\">ERROR [Connection refused / Server down]</span>";
        $error[$i] = "1";
        } 
    else
        { 
        fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla\r\n\r\n");
        while (!feof($fp)) 
            {
            $info = fgets($fp);
            }
        $info = str_replace('<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>', "", $info);
        $info = str_replace('</body></html>', "", $info);
        $stats = explode(',', $info);
        if (empty($stats[1]) )
            {
            $listeners[$i] = "0";
            $msg[$i] = "<span class=\"red\">ERROR [There is no source connected]</span>";
            $error[$i] = "1";
            }
        else
            {
            if ($stats[1] == "1")
                {
                $song[$i] = $stats[6];
                $listeners[$i] = $stats[0];
                $max[$i] =  $stats[3];
                $bitrate[$i] = $stats[5];
                $peak[$i] = $stats[2];
                if ($stats[0] == $max[$i]) 
                    { 
                    $msg[$i] .= "<span class=\"red\">";
                    }
                $msg[$i] .= "Server is aan op $bitrate[$i] kbps met $listeners[$i] van de $max[$i] luisteraars";
                if ($stats[0] == $max[$i]) 
                    { 
                    $msg[$i] .= "</span>";
                    }
                $msg[$i] .= "\n    <p><b>Luisteraars piek:</b> $peak[$i]";
                }
            else
                {
                $listeners[$i] = "0";
                $msg[$i] = "    <span class=\"red\">ERROR [Cannot get info from server]</span>";
                $error[$i] = "1";
                }
            }
        }
    fclose($fp);
    $i++;
    }
$total_listeners = array_sum($listeners) ;
print "<div id=\"blu\">\n  <div style=\"text-align: center;\">\n  <h1>Er zijn $total_listeners mensen aan het luisteren</h1>\n  </div>\n</div>\n<div>\n  

<div>\n    <p><b>Huidig nummer:</b> $song[1]</p>\n  </div>\n</div>\n<div>\n";
$i = "1";
while($i<=$servers)
    {
        print "  <div>\n";
if ($max[$i] > 0) 
    {
    $percentage = round(($listeners[$i] / $max[$i] * 100));
    $timesby = (300 / $max[$i]);
    $barlength = round(($listeners[$i] * "$timesby"));
    }
if ($error[$i] != "1") 
    {
?>
    <table width="390"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="25%" align="center"><b><a href="http://<?php print $ip[$i] . ":" . $port[$i]; ?>" target="_blank">Server <?php print $i ?

></a></b>&nbsp;&nbsp;</td>
        <td width="75%" colspan="3" bgcolor="#eeeeee"><img src="<?php if ($percentage == "100") { print "red-"; } ?>bar.gif" width="<?php print 

$barlength ?>" height="12" alt="The server is at <?php print $percentage; ?>% capacity"></td>
      </tr>
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="25%">0%</td>
        <td width="25%" align="center">50%</td>
        <td width="25%" align="right">100%</td>
      </tr>
    </table>
<?php
    }
else
    {
?>
    <table width="390"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="25%" align="center"><b><a href="http://<?php print $ip[$i] . ":" . $port[$i]; ?>" target="_blank">Server <?php print $i ?

></a></b>&nbsp;&nbsp;</td>
        <td width="75%" colspan="3" bgcolor="#eeeeee">&nbsp;</td>
      </tr>
      <tr>
        <td width="25%">&nbsp;</td>
        <td width="25%">0%</td>
        <td width="25%" align="center">50%</td>
        <td width="25%" align="right">100%</td>
      </tr>
    </table>
<?php
    }
print "    <p><b>Status:</b> $msg[$i]</p>\n  </div>\n  <div class=\"line\"> </div>\n";
    $i++;
    }
print "</div>\n";
$time_difference = "0"; // BST: 1 GMT: 0
$time_difference = ($time_difference * 60 * 60);
$time = date("h:i", time() + $time_difference);
$date = date("j F Y", time() + 0);
print "<div>\n  <div>\n    <p><b>Live SHOUTcast statistieken:</b> $time - $date</p>\n  </div>\n</div>\n";
?>


</body>
</html>
 
Laatst bewerkt door een moderator:
Wat je kunt doen, dat is wel via de mist fijne manier denk ik

elke keer als je scriptje word geladen kijken hoeveel $total_listeners = array_sum($listeners) ; is. Daarna kun je dit bijvoorbeeld weg schrijven in een text bestandje
De volgende keer zal hij moeten kijken wat er in het bestandje staat, en als dat kleiner is dan $total_listeners = array_sum($listeners) ; opdat moment kun je 'm gewoon overschrijven, en als het grooter is dan kun je de inhoud uit je tekst bestandje laten zien
 
Oke, zoiets had ik ingedachten,

maar nu hoe gaat dat in zijn werk???
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan