Jump to content

Server Status PHP


Recommended Posts

PHP script to display server status, this script wont flood the server each time user visits your website, it checks server status every 30 seconds (this will make your website to work way faster.

 

<?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";
}

?>

 

Credits:Vanganth and some edits made by me.

Link to comment
Share on other sites

//Display server status
if($g_Status)
{
echo "Online";
}else
{
echo "Offline";
}

?>

 

you can edit better by displaying an image

//Display server status
if($g_Status)
{
echo "<img src=\"folder/status_on.png\"/>\n";
}else
{
echo "<img src=\"folder/status_off.png\"/>\n";
}

 

(create a folder with status_on.png and status_off.png in it.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...