Problema al verificar servidor web en PHP

  • Autor Autor quimbox
  • Fecha de inicio Fecha de inicio
quimbox

quimbox

1
Iota
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Hola, bueno tengo un codigo que php que conseguí y quisiera que me ayudaran un poco para resolverlo, ya que el error que tengo es cuando quiero verificar si el servidor o la web esta activa, me devuelve un error en la función fopen().

PHP:
Warning: fopen() [function.fopen]: Couldn't resolve host name in /home/u825074873/public_html/check.php on line 12

Warning: fopen(http://midominio-.com) [function.fopen]: failed to open stream: operation failed in /home/u825074873/public_html/check.php on line 12

a pesar de que me dice ese error igualmente me notifica que el servidor esta caido. Y lo que quiero es que si el servidor esta caído que solo me diga que esta offline, y que no me aparezca ese error

este es el codigo que utilizo

PHP:
<?php
/*
 		¿Is online? 1.0 By 2Fac3R
 Verificar si un servidor web esta online
 											 */
$page = htmlentities($_POST['page']);
$send = $_POST['send'];
if(isset($page) && !empty($page)){
function verificar($url){
	if(preg_match("/^(ftp|http|https):\/\/(.*)\.(.*)$/i", $url)){
		echo fopen($url,'r') ? "<b>$url</b> is <font color='green'>Online</font>" : "<b>$url</b> is <font color='red'>Offline</font>";
	}else{
		echo '<u>	URL no valida!	</u><br>';
		echo '
		El formato de una URL valida es:	<br>
		<b>	
		http://www.paginaweb.com	<br>
		http://pagina.es 	<br>
		ftp://cuenta.ftp	</b>
		';
	}
}
verificar($page);
}else{
	if(isset($send)){
		?>
		<script>
		alert("Debes ingresar una URL!");
		window.location=""</script>
		<noscript>
		<?die("Debes ingresar una URL! <a href=''><b> Regresar! </b> </a>")?>
		</noscript><?
	}
?>
<form action="" method="POST"> 
	URL: <input type="text" name="page" value="http://">
	<input type="submit" name="send" value="Comprobar!">
</form>
<?}?>

le agradezco al que me pueda ayudar.
 
Comprueba en la configuración de php.ini si PHP tiene permiso para abrir archivos externos al servidor
 
Comprueba en la configuración de php.ini si PHP tiene permiso para abrir archivos externos al servidor

yo no tengo acceso al php.ini ya que es un hosting gratuito, pero chequeando el phpinfo(); la función allow_url_fopen esta activada
 
Pues no se, revisando el error
Couldn't resolve host name
, lo que ocurre es que el servidor no puede resolver la dirección por DNS (o no tiene permisos), ahora bien, no entiendo como te puede decir correctamente si está online o no si no puede resolver el host ¿?
 
eso pasa es cuando el servidor esta fuera de servicio. mientras que la web este online y activa no muestra ningun error y efectivamente me dice que si esta online. pero con respecto a este error no tengo idea de que hacer.
 
aha ok, dale un vistazo a PHP: fopen - Manual en el apartado de ERRORES/EXCEPCIONES

creo que te lo solucionará.
 
Si te refieres a que no quieres mostrar el error, es suficiente con poner @ delante del comando.
Ejemplo:
Insertar CODE, HTML o PHP:
<?php

echo @file_get_contents("http://www.example.com/");

?>

El @ hará que no se imprima ningún error para ese comando.

Relativo al tema de tu pregunta, ¿has probado Enlace eliminado?
 
Si te refieres a que no quieres mostrar el error, es suficiente con poner @ delante del comando.
Ejemplo:
Insertar CODE, HTML o PHP:
<?php

echo @file_get_contents("http://www.example.com/");

?>

El @ hará que no se imprima ningún error para ese comando.

Relativo al tema de tu pregunta, ¿has probado Enlace eliminado?

Exactamente eso es lo que he hecho he colocado el signo de arroba para omitir el error.

Y Status2k parece una buena herramienta para mantener un monitoreo constante

Saludos! :encouragement:
 
Atrás
Arriba