Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Private Server & MMORPG - Administre Um > Lineage II - OFF > [L2OFF] Administrador > [L2OFF | Admin] Downloads > [L2OFF | Admin] Web Sites
Registrar Loteria VIPStaff SERegras do fórum Comunidade Arcade Postados Hoje Pesquisar Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

 
 
LinkBack Ferramentas do Tópico Modos de Exibição
Prev Post Anterior   Próximo Post Next
Antigo 07-08-2013, 05:52 PM   #1
Server Status PHP
Setokaiba Setokaiba está offline 07-08-2013, 05:52 PM

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: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
<?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: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
//Display server status
if($g_Status)
{
	echo "Online";
}else
{
	echo "Offline";
}

?>
Por isso:
Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
//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.

 
Avatar de Setokaiba
Setokaiba
Jesus Te Ama, Mas EU Não!

Quadro de Medalhas

Registrado em: Oct 2008
Localização: 45º 33º 34º N | 122º 41º 41º W DESTINATION: ANYWHERE Adidas
Posts: 4,133
Pontos: 20,442, Nível: 90
Pontos: 20,442, Nível: 90 Pontos: 20,442, Nível: 90 Pontos: 20,442, Nível: 90
Atividade: 99%
Atividade: 99% Atividade: 99% Atividade: 99%

Nome Real: Anderson Andrade
Visitas: 202
O seguinte membro ao lado disse Obrigado(a) a : Setokaiba por gostar deste Post :
Myutsu (07-08-2013)
Links Patrocinados
 

Tags
código, offline, online, servidor, status, website


Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim



Horários baseados na GMT -3. Agora são 07:51 AM.
 



Search Engine Optimization by vBSEO 3.3.0