Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Это понятно, что ajax. Как реализовать? Я в этом новичок. Суть в том, что скрипт выполняет несколько операций и только после этого выводит результат разом. Нужно. чтобы после выполнения каждой операции выводился результат. Вот в чем фишка...AJAX?
<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i<10; $i++){
echo "<br> Line to show.";
echo str_pad('',4096)."\n";
ob_flush();
flush();
sleep(2);
}
echo "Done.";
ob_end_flush();
?>
Если запускать скрипт напрямую - работает пошагово. Но, если запустить через ajax - выводит общий результат, а не по шагам. Нужно по шагам.Для просмотра ссылки Войдиили Зарегистрируйся
PHP:<?php if (ob_get_level() == 0) ob_start(); for ($i = 0; $i<10; $i++){ echo "<br> Line to show."; echo str_pad('',4096)."\n"; ob_flush(); flush(); sleep(2); } echo "Done."; ob_end_flush(); ?>
Сервер апач должен быть
Тебе как его запускать?
<form method="post" id="myForm" name="myForm" enctype="multipart/form-data">
<button class="btn btn-success" type="submit">Запустить</button>
</form>
<div id="result"></div>
<script>
$('#myForm').submit(function (evtObj) {
evtObj.preventDefault();
var form = $(this);
$.ajax({
url: 'exec.php',
type: 'POST',
data: form.serialize(),
beforeSend: function() {
$('#result').empty();
},
success: function (data) {
if (data === '1') {
$("#result").html(data);
} else {
$("#result").html(data);
}
}
});
});
</script>
$current = "1 шаг";
echo outputProgress($current);
$current = "2 шаг";
echo outputProgress($current);
$current = "Выполнено";
echo outputProgress($current);
function outputProgress($current) {
echo "<span>" . $current . "</span><br/>";
myFlush();
sleep(2);
}
function myFlush() {
echo(str_repeat(' ', 256));
if (@ob_get_contents()) {
@ob_end_flush();
}
flush();
}
?step=1
?step=2
?step=3
if($_GET['step']==1){
}
if($_GET['step']==2){
}