| Setokaiba |
07-08-2013 05:52 PM |
Server Status PHP
Script PHP para exibir o status do servidor, este script a cada visita do usuário no seu website, ele verifica o status do servidor a cada 30 segundos, esse script faz com que seu web site exiba o status mais rapidamente.
Código:
<?php
ini_set( "display_errors", 0); //hide fsockopen/fopen warnings if file doesn't exist or couldn't connect
$g_Status = 0;
$g_Ip = "127.0.0.1"; //Server ip
$g_Port = "7777"; //Server Port
function IsOnline($ip, $port)
{
$sock=@fsockopen($ip, $port, $errNo, $errStr, 3);//timeout set to 3 seconds
if($sock)
{
fclose($sock);
return 1;
}
return 0;
}
function RefreshStatus()
{
global $g_Ip, $g_Port;
$status = IsOnline($g_Ip, $g_Port);
//storing info about timestamp and server status
$file = fopen("status.txt", "wb");
$timestamp = time() + 30; //it will refresh every 30 seconds - won't flood the server
$cont = $timestamp .' '. $status;
fwrite($file, $cont);
fclose($file);
return $status;
}
$file = fopen("status.txt", "r");
if(!$file)
{
//file doesn't exist
$g_Status = RefreshStatus();
}else
{
$cont = fread($file, filesize("status.txt"));
$data = explode(" ", $cont); //$data[0] is our timestamp and $data[1] is our server status
if($data[0] < time())
{
//refresh status
$g_Status = RefreshStatus();
}else
{
$g_Status = $data[1];
}
}
//Display server status
if($g_Status)
{
echo "Online";
}else
{
echo "Offline";
}
?>
Caso queira alterar o texto Online e Offline por imagens ex: (bolinhas, quadradinhos) verdes e vermelhos, basta alterar:
Código:
//Display server status
if($g_Status)
{
echo "Online";
}else
{
echo "Offline";
}
?>
Por isso:
Código:
//Display server status
if($g_Status)
{
echo "<img src=\"pasta/status_on.png\"/>\n";
}else
{
echo "<img src=\"pasta/status_off.png\"/>\n";
}
Criar uma pasta e alterar o caminho ali no código supracitado, onde eu defini os nomes como status_on.png e status_off.png, porém, basta customizar para o seu gosto.
|