/ / implementación en tiempo real de la barra de progreso para php - php, ajax, barra de progreso, en tiempo real

Implementación de la barra de progreso en tiempo real para php - php, ajax, barra de progreso, en tiempo real

Tengo dos páginas. Envío una llamada ajax desde la primera página a la segunda página para ejecutar códigos PHP dentro de ella.
la ejecución necesita mucho tiempo (1-2 min) .cómo puedo crear una barra de progreso y mostrar el porcentaje de progreso en la primera página.
Puedo calcular el porcentaje de progreso, pero cómo mostrarlo en tiempo real en la primera página.

firstpage.php

$.ajax({ url: "secondpage.php",
data: {"q": data},
type: "post",
success: function(output) {
//some code
}

secondpage.php

    <?php

// I have some codes here that can calculate progress percent
// but how to show real time progress percent in firstpage.php

echo $result;  //final result(for ajax callback)
?>

Respuestas

0 para la respuesta № 1

Yo uso jquery ui barra de progreso. http://jqueryui.com/progressbar/

Y usaría llamadas ajax para obtener el porcentajecompletado y use el valor completado para actualizar la barra de progreso mientras se encuentra en la misma página. Tal vez podría llamar al progreso cada 10 segundos aproximadamente, obtener una actualización y actualizar la barra de progreso en consecuencia.


1 para la respuesta № 2

flush () y ob_flush () es tu amigo aquí. El uso de estos juntos puede enviar la salida al búfer.

Prueba este ejemplo que tomé de php.net

header( "Content-type: text/html; charset=utf-8" );
echo "Begin ...<br />";
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . "<br />";
flush();
ob_flush();
sleep(1);
}
echo "End ...<br />";

http://php.net/manual/en/function.ob-flush.php