Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/05/2012, 11:05
manuel__7
 
Fecha de Ingreso: abril-2012
Mensajes: 88
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: eliminar enlaces offline

Cita:
Iniciado por stramin Ver Mensaje
lo mejor sería hacerlo con curl, y la función que ha mencionado linuxzero queda perfecta!

Creo que no hace falta hacer el cron, puedes comprobar las urls antes de mostrarlas en la página, puedes probar a hacer llamadas curl y luego consultar si hay error con curl_errno, como dijo linuxzero, si hay error, no muestras el enlace y además lo eliminas de la BD.

eso si, se que hay otra forma más rápida de comprobar que he usado antes, pero no recuerdo cual era, pero era algo así como un ping a la página que devolvía true si existía y false si no... la buscaré

------------------- editado ------------------

Encontrado, una opción es usar exec con ping, algo así:

Código PHP:
Ver original
  1. $exec = exec("ping -n 3 -l 64 ".$url);

Pero encontré una mejor en php.net:

Código PHP:
Ver original
  1. $outputShell = shell_exec("ping -c 2 -w 2 ".$url);
  2. if(strpos($outputShell, '0 received')){
  3. // No se recibió respuesta, el servidor está out
  4. }else{
  5. // Se recibió respuesta, el servidor está online
  6. }

(en windows 7 reemplazar "-c 2" por "-n 2"

Muchas gracias, pero no me ha funcionado, todo enlace sea roto o no sale online,
yo más bien creo que la solución es reconocer un html como se explico más arriba, lo que no entiendo es como utilizar dicha función por lo que necesito así mismo un codigo inicial para orientarme, es urgente.... Saludos