i bardzo dobrze zauwazyles. sugerujac sie wczesniejszymi informacjami o usunieciu zapisu pliku nsstats.txt przez niceshapera 'zahaszowalem' cala linie, dzieki
...
zostalem przy b/s. ponizej inaczej wygladajaca informacja o obciazeniu lacza internetowego (lacze 4/0,5 Mb, nsstats generowany w bitach) , mozna skrypt wkleic w kod htm dowolnej strony;
Cytuj:
<?php
// mozna wstawic auto odswiezanie strony; <HEAD> <meta http-equiv="Refresh" content="30"> </HEAD>
// od tej linni do ...
$dane='';
$pp=popen( 'sudo niceshaper stats','r' );
while ( !feof ( $pp ) ) {
$dane.=fgets($pp);
}
pclose($pp);
// zapis danych ze strumienia do pliku (wyglada na to, ze jest to konieczne jesli usunieto dump w pliku config niceshaper'a)
$fp = fopen("./stats/nsstats.txt",'w');
fwrite($fp, $dane);
fclose($fp);
// ... tej linni mozna usunac jesli ustawiony jest dump w pliku config niceshaper'a
$chunksize = 1*(1024*1024); // how many bytes per chunk
$handle = fopen("./stats/nsstats.txt", 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
$buffer3=explode("\n", $buffer);
$zlicz=1;
$down=0;
$up=0;
for ($i=2;$i<count($buffer3);$i++) {
$buffer3[$i] = preg_replace('/\s+/', ' ', $buffer3[$i]);
$buffer2=explode(" ", $buffer3[$i]);
# $down=$down+substr($buffer2[4],0,-4);
# $up=$up+substr($buffer2[9],0,-4);
$down=$down+$buffer2[4];
$up=$up+$buffer2[9];
$zlicz=$zlicz+1;
}
}
if ($down > 0 ){$sd = 100*($down/4194304);} else $sd = 0;
if ($up > 0 ) {$su = 100*($up/524288);} else $su = 0;
$nsd=number_format($sd, 2, ',', ' ');
$nsu=number_format($su, 2, ',', ' ');
$ndown=number_format($down, 0, ',', ' ');
$nup=number_format($up, 0, ',', ' ');
echo '<table ALIGN=center, WIDTH=800, BORDER=0, CELLSPACING=0, CELLPADDING=0>';
echo '<td ALIGN="center"><font color="gold"><font size=3>Obciążenie łącza <br>internetowego</td>';
echo '<td><table ALIGN=center, WIDTH=100%, BORDER=0, CELLSPACING=1, CELLPADDING=0>';
echo '<tr>';
echo '<td align=center ><font color="white"><strong>'.$ndown;
echo '</strong> b/s</td>';
echo '<td align=center ><font color="white">DOWNLOAD';
if ($sd >0 and $sd <10){
echo ' <td align=center bgcolor=999999><font size=2>'.$nsd; echo ' %';
}else
if ($sd >10){
echo ' <td align=center bgcolor=999999><font size=2>- - -';
}
if ($sd >10 and $sd <20){
echo ' <td align=center bgcolor=0066ff><font size=2>'.$nsd; echo ' %';
}else
if ($sd >10){
echo ' <td align=center bgcolor=0066ff><font size=2>- - -';
}
if ($sd >20 and $sd <30){
echo ' <td align=center bgcolor=006699><font size=2>'.$nsd; echo ' %';
}else
if ($sd >20){
echo ' <td align=center bgcolor=006699><font size=2>- - -';
}
if ($sd >30 and $sd <40){
echo ' <td align=center bgcolor=009933><font size=2>'.$nsd; echo ' %';
}else
if ($sd >30){
echo ' <td align=center bgcolor=009933><font size=2>- - -';
}
if ($sd >40 and $sd <50){
echo ' <td align=center bgcolor=33ff00><font size=2>'.$nsd; echo ' %';
}else
if ($sd >40){
echo ' <td align=center bgcolor=33ff00><font size=2>- - -';
}
if ($sd >50 and $sd <60){
echo ' <td align=center bgcolor=99ff00><font size=2>'.$nsd; echo ' %';
}else
if ($sd >50){
echo ' <td align=center bgcolor=99ff00><font size=2>- - -';
}
if ($sd >60 and $sd <70){
echo ' <td align=center bgcolor=ccff33><font size=2>'.$nsd; echo ' %';
}else
if ($sd >60){
echo ' <td align=center bgcolor=ccff33><font size=2>- - -';
}
if ($sd >70 and $sd <80){
echo ' <td align=center bgcolor=ffff00><font size=2>'.$nsd; echo ' %';
}else
if ($sd >70){
echo ' <td align=center bgcolor=ffff00><font size=2>- - -';
}
if ($sd >80 and $sd <90){
echo ' <td align=center bgcolor=ff6600><font size=2>'.$nsd; echo ' %';
}else
if ($sd >80){
echo ' <td align=center bgcolor=ff6600><font size=2>- - -';
}
if ($sd >90){
echo ' <td align=center bgcolor=ff0000><font size=2>'.$nsd; echo ' %';
}
echo '</tr><tr></tr><tr>';
echo '<td align=center><font color="white"><strong>'.$nup;
echo '</strong> b/s</td>';
echo '<td align=center ><font color="white">UPLOAD';
if ($su >0 and $su <10){
echo ' <td align=center bgcolor=999999><font size=2>'.$nsu; echo ' %';
}else
if ($su >10){
echo ' <td align=center bgcolor=999999><font size=2>- - -';
}
if ($su >10 and $su <20){
echo ' <td align=center bgcolor=0066ff><font size=2>'.$nsu; echo ' %';
}else
if ($su >10){
echo ' <td align=center bgcolor=0066ff><font size=2>- - -';
}
if ($su >20 and $su <30){
echo ' <td align=center bgcolor=006699><font size=2>'.$nsu; echo ' %';
}else
if ($su >20){
echo ' <td align=center bgcolor=006699><font size=2>- - -';
}
if ($su >30 and $su <40){
echo ' <td align=center bgcolor=009933><font size=2>'.$nsu; echo ' %';
}else
if ($su >30){
echo ' <td align=center bgcolor=009933><font size=2>- - -';
}
if ($su >40 and $su <50){
echo ' <td align=center bgcolor=33ff00><font size=2>'.$nsu; echo ' %';
}else
if ($su >40){
echo ' <td align=center bgcolor=33ff00><font size=2>- - -';
}
if ($su >50 and $su <60){
echo ' <td align=center bgcolor=99ff00><font size=2>'.$nsu; echo ' %';
}else
if ($su >50){
echo ' <td align=center bgcolor=99ff00><font size=2>- - -';
}
if ($su >60 and $su <70){
echo ' <td align=center bgcolor=ccff33><font size=2>'.$nsu; echo ' %';
}else
if ($su >60){
echo ' <td align=center bgcolor=ccff33><font size=2>- - -';
}
if ($su >70 and $su <80){
echo ' <td align=center bgcolor=ffff00><font size=2>'.$nsu; echo ' %';
}else
if ($su >70){
echo ' <td align=center bgcolor=ffff00><font size=2>- - -';
}
if ($su >80 and $su <90){
echo ' <td align=center bgcolor=ff6600><font size=2>'.$nsu; echo ' %';
}else
if ($su >80){
echo ' <td align=center bgcolor=ff6600><font size=2>- - -';
}
if ($su >90){
echo ' <td align=center bgcolor=ff0000><font size=2>'.$nsu; echo ' %';
}
echo '</tr></table>';
echo '</table>';
fclose($handle);
?>