PHP и jQuery индикатор выполнения при разборе

Мне было интересно, как я могу создать индикатор выполнения для обработки данных HTML. По существу пользователь ищет что-то, и я разбираю другой сайт. Я попытался сделать это, получив количество объектов, найденных в массиве, затем разделив 100 на него, и получив текущий в цикле for и умножив его на 100 / total. Затем я бы обновил текстовый файл со значением. Затем обновите индикатор выполнения с этим значением. Однако я хочу более эффективный способ сделать это. Также он должен быть уникальным для каждого пользователя. Благодарю.

Я нашел другой способ сделать это, чтобы помочь всем тем людям, которые имеют один и тот же вопрос. Я нашел это здесь http://w3shaman.com/article/php-progress-bar-script

<?php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>Progress Bar</title> </head> <body> <!-- Progress bar holder --> <div id="progress" style="width:500px;border:1px solid #ccc;"></div> <!-- Progress information --> <div id="information" style="width"></div> <?php // Total processes $total = 10; // Loop through process for($i=1; $i<=$total; $i++){ // Calculate the percentation $percent = intval($i/$total * 100)."%"; // Javascript for updating the progress bar and information echo '<script language="javascript"> document.getElementById("progress").innerHTML="<div style=\"width:'.$percent.';background-color:#ddd;\">&nbsp;</div>"; document.getElementById("information").innerHTML="'.$i.' row(s) processed."; </script>'; // This is for the buffer achieve the minimum size in order to flush data echo str_repeat(' ',1024*64); // Send output to browser immediately flush(); // Sleep one second so we can see the delay sleep(1); } // Tell user that the process is completed echo '<script language="javascript">document.getElementById("information").innerHTML="Process completed"</script>'; ?> </body> </html> ?> 

Выполнение длины php-процесса при показе прогресса , даже наличие нескольких индикаторов выполнения на одной странице и предварительных / пост-крючках : http://pastebin.com/KSxjC01r

Я сделал это для себя, потому что мне это нужно.

Не стесняйтесь использовать его.

Если вы используете PHP для парсинга, это означает, что вы должны каким-то образом получить информацию из этого процесса. Это также означает, что вы должны (возможно) сделать ajax-запросы другому скрипту php, который контролирует первый или, по крайней мере, получает от него некоторую информацию журнала. Я не думаю, что для этого правильный выбор PHP. Я предлагаю использовать nodejs. Там вы можете реализовать связь в режиме реального времени, что довольно просто.

Я использовал решение user3393366, изложенное в сообщении выше, и хотя он выводит уродливое количество javascript-кода, он работал очень хорошо. Я изменил его, чтобы вывести многоцветные индикаторы выполнения на основе процента, зафиксировал многоступенчатые бары на странице, добавил заголовки в индикаторы выполнения и сделал необязательные скрытые индикаторы выполнения при выполнении функций завершения. Таким образом, никакой jquery или ajax не нужно, и работает хорошо. Будьте более чем готовы опубликовать мои моды здесь. Конечно, возможно, не передовые вещи .. но выполняет свою работу.