Foros del Web » Programando para Internet » PHP »

Ayuda con fsockopen

Estas en el tema de Ayuda con fsockopen en el foro de PHP en Foros del Web. Hola a todos! Alguien me puede ayudar con fsockopen?! Paso a comentar. Tengo una aplicación (hecha por mi) en PHP+Mysql con la que llevo las ...
  #1 (permalink)  
Antiguo 30/10/2009, 07:40
Avatar de 2D6
2D6
 
Fecha de Ingreso: enero-2006
Ubicación: Posadas, Misiones
Mensajes: 60
Antigüedad: 18 años, 3 meses
Puntos: 4
Ayuda con fsockopen

Hola a todos!

Alguien me puede ayudar con fsockopen?!
Paso a comentar.
Tengo una aplicación (hecha por mi) en PHP+Mysql con la que llevo las ventas de mi comercio, que funciona de forma local. Hay días que no vengo entonces se me ocurrió que cada vez que se realice una venta subiera ese total a una base de datos online.
Hasta acá todo perfecto, el problema viene cuando la maquina en la que funciona la aplicación no tiene Internet, entonces se me ocurrió hacer un script que habilitara (o no) la posibilidad de subir esos datos.

El script en cuestión es este

Código PHP:
$test_server fsockopen("www .xxxx. com.ar"80$errno$errstr30);
if (!
$test_server
{
    
$estado_server "Offline";
    
$class_server "offline";
    
mysql_query ("UPDATE `config_gral` SET `habilitar_update_sitio` = 'no'");
}
else
{
    
$estado_server "Online";
    
$class_server "online";
    
mysql_query ("UPDATE `config_gral` SET `habilitar_update_sitio` = 'si'");
}
$estado_servidor "<div>Server <span class='$class_server'>$estado_server</span></div>";

echo 
"$estado_servidor"
Parece todo bien, no?
El tema es que no funciona!!! Siempre dice que el server esta online, incluso cuando no tengo internet.

También probé usando la IP en vez del host pero lo mismo, siempre ONLINE.

Gracias por la ayuda!
Saludos!
  #2 (permalink)  
Antiguo 30/10/2009, 09:40
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ayuda con fsockopen

Cambia la condición así, de esta forma nos aseguramos que solo si $test_server tiene algún valor evaluado como TRUE considerará que posees conexión.

Te he puesto una @ delante de fsockopen para evitar que salte algún error cuando no exista conexión.

Pruébalo y nos cuentas.

Saludos!

Código PHP:
$test_server = @fsockopen("www .xxxx. com.ar"80$errno$errstr30); 
if (
$test_server)  

    
$estado_server "Online"
    
$class_server "online"
    
mysql_query ("UPDATE `config_gral` SET `habilitar_update_sitio` = 'si'");  

else 

    
$estado_server "Offline"
    
$class_server "offline"
    
mysql_query ("UPDATE `config_gral` SET `habilitar_update_sitio` = 'no'");

$estado_servidor "<div>Server <span class='$class_server'>$estado_server</span></div>"

echo 
"$estado_servidor"
  #3 (permalink)  
Antiguo 30/10/2009, 10:11
Avatar de 2D6
2D6
 
Fecha de Ingreso: enero-2006
Ubicación: Posadas, Misiones
Mensajes: 60
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: Ayuda con fsockopen

Ahora si!!
Pero todavia me sigue tirando ONLINE aunque le ponga un host que se que no existe, como por ej www sadasdsadas com
Supongo que sera porque uso OpenDNS y cuando pones una direccion no valida te lleva automaticamente a su buscador, entonces a fin de cuentas, si encontro algo.

Pero si no tiene internet la maquina aparece OFF, muchas gracias por la ayuda!
  #4 (permalink)  
Antiguo 30/10/2009, 10:18
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ayuda con fsockopen

Cita:
Iniciado por 2D6 Ver Mensaje
Ahora si!!
Pero todavia me sigue tirando ONLINE aunque le ponga un host que se que no existe, como por ej www sadasdsadas com
Supongo que sera porque uso OpenDNS y cuando pones una direccion no valida te lleva automaticamente a su buscador, entonces a fin de cuentas, si encontro algo.

Pero si no tiene internet la maquina aparece OFF, muchas gracias por la ayuda!
De nada, me alegro que te haya servido :)

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:24.