Server Statistics - Final Script (Page 3 of 4 ) As I promised here is a more advanced version which displays server name, IP, port, software, gateway, and a few others. You may recognize this from the codewalkers code gallery where I posted it. This has a nice little html template used for displaying the results so it does look alot nicer than previous scripts. <?php $uptime = @exec('uptime'); /* Get uptime from uptime command */ preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$uptime,$avgs); /* Break up result */ $uptime = explode(' up ', $uptime); $uptime = explode(',', $uptime[1]); $uptime = $uptime[0].', '.$uptime[1]; $start=mktime(0, 0, 0, 1, 1, date("Y"), 0); $end=mktime(0, 0, 0, date("m"), date("j"), date("y"), 0); /* Make dates */ $diff=$end-$start; $days=$diff/86400; $percentage=($uptime/$days) * 100; /* Work out percentages */ $load=$avgs[1].",".$avgs[2].",".$avgs[3].""; /* Grab average uptime into string */ /* Format page */ $page='<html> <head> <title>Server Statistics For '.getenv('SERVER_NAME').'</title> <style type="text/css"> td{ border-style: solid; border-width: 1px; color: #000000; } table{ border-style: solid; border-width: 1px; color: #000000; } tr{ border-style: solid; border-width: 1px; color: #000000; } </style> </head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" style="border: 1 solid #000000" border="1"> <tr> <td width="50%" bgcolor="#3973AC" style="border: 1 solid #000000"><font color="#FFFFFF">Server Details</font></td> <td width="50%" bgcolor="#3973AC" style="border: 1 solid #000000"><font color="#FFFFFF">Server Statistics</font></td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000">&nbsp;</td> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000">&nbsp;</td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Name:</b>&nbsp;'.getenv('SERVER_NAME').' </td> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Uptime</b> (days): '.$uptime.'</td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Port:</b> '.getenv('SERVER_PORT').'</td> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Uptime </b> (%): '.$percentage.'%</td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Software: </b> '.getenv('SERVER_SOFTWARE').'</td> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Load:</b>&nbsp; '.$load.' </td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Protocol:</b>&nbsp; '.getenv('SERVER_PROTOCOL').'</td> <td width="50%" bgcolor="#7CA8D3" rowspan="3" style="border: 1 solid #000000"></td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"><b>Gateway:</b>&nbsp;'.getenv('GATEWAY_INTERFACE').'</td> </tr> <tr> <td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000">&nbsp;</td> </tr> </table> </body>
</html>'; echo $page; /* Print the page to browser Done */ ?> |
Next: Conclusion >>
More Programming Basics Articles More By Andrew Walsh |