/ implementácia implementačného pruhu v reálnom čase pre php - php, ajax, progres - bar, real - time

implementácia reálneho časového limitu v reálnom čase pre php - php, ajax, progress bar, real - time

Mám dve stránky. Pošlem ajax volanie z prvej stránky na druhú stránku, aby sa v ňom spustili php kódy.
(1-2 minúty). Ako môžem vytvoriť pruh priebehu a zobraziť percentuálny pokrok na prvej stránke.
Môžem vypočítať percento pokroku, ale ako to zobraziť v reálnom čase na prvej stránke.

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)
?>

odpovede:

0 pre odpoveď č. 1

Použil by som jquery ui progress bar. http://jqueryui.com/progressbar/

A ja by som použil ajax hovory na získanie percentadokončiť a použiť dokončenú hodnotu na aktualizáciu lišty priebehu, kým ste na tej istej stránke. Môžete asi zavolať pokrok každých 10 sekúnd, získať aktualizáciu a podľa toho aktualizovať panel postupu.


1 pre odpoveď č. 2

flush () a ob_flush () je váš priateľ tu. Pomocou týchto programov môžete odoslať výstup do vyrovnávacej pamäte.

Vyskúšajte tento príklad, ktorý som získal z 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