Script de status de los servidores

Reclutador

Active Member
Messages
3,866
Reaction score
0
Points
36
Buenas gente.

El otro día vi un script aquí de hacer que cargue una página, pero si el servidor se encuentra inactivo, que cargue otra, me gustaría que alguien me dijese donde puedo encontrar ese script o ponerlo aquí mismo. La idea es hacer que cargue un html desde mi disco duro (file://C:xxxxxx) y que cargue un http:// si tiene conexión el ordenador. Si no encuentra internet o no puede conectarse al http que cargue otra pagina alojada en el disco duro de nuevo.

Sabeis a que script me refiero? (aquí he visto que cargue dos webs distintas, pero que cargue una web a cargar un archivo desde C debe ser el mismo)
 

alkorn

New Member
Messages
17
Reaction score
0
Points
0
Buenas gente.

El otro día vi un script aquí de hacer que cargue una página, pero si el servidor se encuentra inactivo, que cargue otra, me gustaría que alguien me dijese donde puedo encontrar ese script o ponerlo aquí mismo. La idea es hacer que cargue un html desde mi disco duro (file://C:xxxxxx) y que cargue un http:// si tiene conexión el ordenador. Si no encuentra internet o no puede conectarse al http que cargue otra pagina alojada en el disco duro de nuevo.

Sabeis a que script me refiero? (aquí he visto que cargue dos webs distintas, pero que cargue una web a cargar un archivo desde C debe ser el mismo)

es facil che usa fopen y fread , con eso abris un link al server si falla haces que lea un archivo html local y sino que te redireccione al server .Obvio que siempre bajo PHP tenes que hacerlo.
 

alvaroag

New Member
Messages
288
Reaction score
0
Points
0
he preparado un script que debería hacer eso... si el sitio indicado se encuentra online, te redirige a ese sitio. si no, te redirige a otro sitio. aqui esta el script:

PHP:
<?php
$timeout = 30; //El timeout, creo que en segundos, antes de que se rinda
$hostname = "www.x10hosting.com"; //La dirección que verificara
$Offline = "forums.x10hosting.com"; //La dirección a la que mandara si la primera no funciona

$fp = @fsockopen($hostname,80,"","",$timeout);
if (!$fp) {
	header("Location: $Offline"); //Como falló la conexión, manda al segundo sitio.
} else {
	$out = "GET / HTTP/1.1\r\n"; //Ahora verificamos que el sitio responda correctamente
	$out .= "Host: www.example.com\r\n";
	$out .= "Connection: Close\r\n\r\n";

	fwrite($fp, $out);
	while (!feof($fp)) {
		$out = fgets($fp, 128);
	}
	fclose($fp);

	if ($out!="") { //Si responde algo, redireccionamos al primer sitio.
		header("Location: $hostname");
	} else { //En caso contrario, al segundo
		header("Location: $Offline");
	}
}
?>

avísame si funcionó.

Alvaro

EDIT: El script lo he hecho al vuelo. Debe funcionar, pero no esta testado.
 
Last edited:

Reclutador

Active Member
Messages
3,866
Reaction score
0
Points
36
Ok, muchas gracias, tan solo una pregunta. En $offline como podría poner que abra una ruta que se encuentre en tu propio pc? (es decir, un file://)
 

alvaroag

New Member
Messages
288
Reaction score
0
Points
0
$offline corresponde a una dirección http a la cual redireccionará en caso de que no se encuentre activo el otro servidor.

Si quieres que sea una ruta local, podrías cambiar las dos lineas que dicen

PHP:
header("Location: $Offline");

por unas que digan

PHP:
require($Offline);

y que $Offline contenga la ruta local al archivo, sin el file://, es decir, simplemente "C:\Windows\explorer.exe"(por ej).

Alvaro
 

yaxiiah

New Member
Messages
268
Reaction score
0
Points
0
wow esto en verdad funciona!!..espero no tenerlo que usar nunca pero por si las dudas
 

Reclutador

Active Member
Messages
3,866
Reaction score
0
Points
36
De acuerdo alvaroag, probaré el código como tu me lo has dicho esta noche o mañana. Gracias por ayudarme, ya te contaré. Un saludo gente
 
Top