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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...