Foros del Web » Programando para Internet » PHP »

Comprobar la existencia de muchos archivos desde BD

Estas en el tema de Comprobar la existencia de muchos archivos desde BD en el foro de PHP en Foros del Web. Aquí expongo el codigo: Código PHP: <?php     $result  =  mysql_query ( "SELECT * FROM $tabla ORDER BY nombre" , $link );     while ( $row  =  mysql_fetch_array ( $result )) {         echo  '<a href="' ...
  #1 (permalink)  
Antiguo 24/04/2003, 10:52
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 8 meses
Puntos: 7
Comprobar la existencia de muchos archivos desde BD

Aquí expongo el codigo:

Código PHP:
<?php

    $result 
mysql_query("SELECT * FROM $tabla ORDER BY nombre",$link);

    while (
$row mysql_fetch_array($result))
{



        echo 
'<a href="'.$row["url"].'">'.$row["nombre"].'</a>';
     


 
$dire=$row["url"];
                
        
$conexi=fopen("$dire","r");

        if (
$conexi)
        
        {
        
        echo 
" OK";
        
        } 
        
        else
        
        {
        
        echo 
" K.O.";
        
        }

echo 
"<br>";
        
        
fclose("$conexi");
        












       
}

?>
Y aquí mi gran duda:

Weno mi problema esta en que el registro a comprobar son unos 200 archivos (son muxo mas pero weno xD) y solo me hace 4. ¿Esto puede ser xq no perimita realizar tantas conexiones al "mismo tiempo"?
  #2 (permalink)  
Antiguo 24/04/2003, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno, no indicas algun tipo de error de PHP (tal vez tengas desactivado el que PHP te muestre mensajes de error? ..)

El caso que .. esa operación de fopen() junto con la consulta a tu BD puede demorarse un buen rato ..

PHP (por defecto) le otorga a cada script un tiempo de ejecución máximo que suele ser de 30 segundos ...

Sería recomendable que usases:

set_time_limit(segundos);

Si indicas 0 segundos sería "tarde lo que tarde la ejecución" .. Esto no sería recomendable hacerlo pues si hay algún tipo de porblema podrías dejar "colgado" el servidor. Usa tiempos largos y ves ajustandolo según veas lo que tarde en ejecutarse.

Otra cosa que podrías hacer es "controlar el buffer de salida" de PHP.. Osease, esos OK o K.O. mensajes los mostraras cuando termine de ejecutar esos 200 registros con sus fopen() correspondientes ...

Podrías usar:
Código PHP:
echo "<br>";
flush(); // se fuerza a PHP que entregue lo que tenga en el buffer de salida al navegador (en este caso) ... 
El efecto principal es que veras en tu navegador como se vá mostrando el OK o K.O según se ejecute.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 25/04/2003, 20:32
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 8 meses
Puntos: 7
Una vez más, gracias Cluster

Una vez más me has ayudado !!! A ver si algun dia puedo yo ayudarte en algo !!!

GRACIAAAAAAAAAASSSSSS !!!!!!

Saludos !

Última edición por Axo; 25/04/2003 a las 20:34
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 14:12.