Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/05/2012, 08:37
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: eliminar enlaces offline

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"
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Última edición por stramin; 23/05/2012 a las 08:46