Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2010, 10:48
Avatar de ghidalgoram
ghidalgoram
 
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Como saber que hay un error 404

Hola a todos.

Un código en PHP "lee" varios URL o links, en este formato:

http://www.miurl.com/archivo1.jpg

http://www.miurl.com/archivo2.jpg

http://www.miurl.com/foto1.jpg

etc,...


En el código PHP, yo puedo saber cuando un archivo existe y cuando no en el servirdor y así de esta manera, en caso, que no exista, ejecutar un plan B.

Aqui empieza el problema:


A veces sucede, solo cuando el archivo no existe, el navegador "sigue esperando respuesta". El proceso que tengo lee muchos links y debe saber si existe o no el archivo que está leyendo. Yo hice una prueba con el siguiente código y así les exploco mejor el problema:


Código PHP:
Ver original
  1. <?php
  2. $link_a_comprobar="http://fotos.miurl.com/foto.jpg1";
  3. if (is_array(@getimagesize($link_a_comprobar)))
  4. {
  5.     echo "foto existe";
  6.     ?>
  7.  
  8.     <img src="<?php echo $link_a_comprobar;?>">
  9.  
  10.     <?php
  11. }
  12. else
  13. {
  14.     echo "foto no existe";             
  15.  
  16. }
  17. ?>



Cuando el archivo no existe, da el siguiente msje:

Código PHP:
Ver original
  1. echo "foto no existe";

Ayer hice una prueba con el código de arriba. Si la foto existe, aparece casi inmediatamente, pero sino, dura como 1 minuto para mostrarme "foto no existe". Después que mostró ese mensaje, en la barra de estado del navegador se seguía mostrando "Esperando respuesta...".


Yo deseo saber si existe algo en PHP que desde el momento que se inicia, cuente unos 20 segundos ó algo así y si sigue sin obtener respuesta (porque desde luego no existe la foto), yo pueda detener la búsqueda y así realizar otras opciones.

Lo necesito porque hasta ayer me sucedió que uno de los links, no tenía el archivo, hice que el proceso general se "cayera" de tanto esperar y al final dió un Error 404.

Agradezco su ayuda.
Saludos
__________________
Loading...