Jump to content

Recommended Posts

Posted

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.

Posted

//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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock