Как мне отобразить переменную, затем удалить все на странице и повторить - PullRequest
0 голосов
/ 29 марта 2019

Я пытался отображать переменные во время работы скрипта.У меня есть эта часть, чтобы работать.Однако я хочу удалить все на странице, затем повторить и повторить.Я искал на stackoverflow и пробовал их решения, но он все еще не работает для меня.Пример:

  1. Удалить все на странице (поэтому оно пустое).
  2. эхо $i
  3. $i += 1
  4. Повтор

Версия PHP: 7.2.10 Запуск: XAMPP

script.php:

<?php

$i = 0;
while ($i < 999999999) {
    echo $i;
    flush();
    ob_flush();
    sleep(1);
    $i += 1;
}

То, что происходит, заключается в том, чтостраница не удаляет все на странице, поэтому она выглядит следующим образом:

09: 00: 00

0

09: 00: 01

01

09: 00: 02

012

Я хочу, чтобы это было так:

09: 00: 00

0

09: 00: 01

1

09: 00: 02

2

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

если я не ошибаюсь, единственный способ добиться этого - это JavaScript или CSS, потому что «выход» в PHP всегда отображается на стороне клиента, и, как вы хорошо знаете, PHP ничего не меняет на стороне клиента.

<?php                                      
$i = 0;
   while ($i < 999999999) {
 echo '<div style="position:absolute;margin-left:0;margin-top:0;background:white;width:15px;">&nbsp;</div>'; // to clean
 echo '<div style="position:absolute;margin-left:0;margin-top:0">'.$i.'</div>'; // to show in same place.
flush(); 
ob_flush(); 
sleep(1);
$i += 1;
}
?>

В любом случае, надеюсь, это поможет вам.

0 голосов
/ 29 марта 2019

Попробуйте, используя JS, чтобы очистить страницу во время цикла while

$i = 0;
        while ($i < 10) {
            echo $i;
            flush();
            ob_flush();
            sleep(1);
            $i += 1;
            echo "<script type='text/javascript'>";
            echo "document.body.innerHTML = ''";
            echo "</script>";
        }
...