Secret Experience

Secret Experience (https://secretexperience.net/)
-   [L2OFF | Admin] Web Sites (https://secretexperience.net/l2off-admin-web-sites/)
-   -   [Web Site] Server Status PHP (https://secretexperience.net/l2off-admin-web-sites/34027-server-status-php.html)

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.


Horários baseados na GMT -3. Agora são 08:55 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.