Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2014, 11:05
andy82
 
Fecha de Ingreso: mayo-2013
Ubicación: Alicante
Mensajes: 35
Antigüedad: 11 años
Puntos: 0
Como puedo parar un ciclo while 3 segundos

Hola a todos
Primero agradecer este magnífico foro y a sus usuarios que siempre me ayudan en la solución de problemas en mis códigos.

Tengo este código php que me verifica las url de videos que tengo en las páginas de mi sitio. Funciona perfectamente para lo que yo lo necesito, el problema es que al ejecutar el ciclo sin parar, cuando tarda mucho la página se cae, error 504 Gateway Time-out.

Quisiera saber si podría ponerle alguna pausa o un stop por 3 segundos entre cada pagina. O sea verifica 1ra página, para 3seg y continua para la segunda y luego para 3seg y continua...

Código PHP:
function verif_url(){
    
$pro = (int) $_POST['pid'];
    
$sql mysql_query("SELECT * FROM productos");

    while( 
$producto mysql_fetch_array($sql) ){
        
$pid $producto['pid'];
        
$url "http://www.ejemplo.com/producto/{$pid}/";
   
    
$document = new DOMDocument();
    
$document->loadHTML(file_get_contents($url));
    
$list $document->getElementsByTagName('iframe');

    for (
$i=0$i<$list->length$i++) {
        
$iframe $list->item($i);
        
     
$srcpag file_get_contents($iframe->attributes->getNamedItem('src')->value'<br />');
     
$document->loadHTML($srcpag);
     

     
$op1 'No videos found.';
     
$op2 'File was deleted';


     
$contop1 strpos($srcpag$op1);
     
$contop2 strpos($srcpag$op2);

    }

    if (
$contop1 !== false) {
    
//     "realiza determinada funcion";
}
     if(
$contop2 !== false) {
    
//    "realiza determinada funcion";
}

        }
         
        } 
Intenté poniendo sleep(3); dentro o fuera del while pero no me funcionó. Tarda mas todavía y continua cargando la página hasta caerse.

¿Tendrá solución?