Код:
echo "1"; sleep(1); echo "2"; sleep(1); echo "3";
То, что я пытаюсь сделать, это заставить скрипт echo «1» на экране ждать одну секунду, а затем отображать «2» и т. Д. Так же, как скрипт ждет 2 секунды, отображает весь контент на одном. Все, что я знаю об этом, это то, что он делает с буферизацией
Отключить буферизацию вывода путем промывки в начале скрипта и активировать неявный сброс буфера вывода. Это должно сделать это:
ob_implicit_flush(true); ob_end_flush(); for ($i=0; $i<5; $i++) { echo $i.'<br>'; sleep(1); }
Использовать ob_start();
для вывода результата в сочетании с ob_flush(); flush();
ob_flush(); flush();
периодически отправлять его в браузер.
Таким образом, ваш пример станет следующим:
ob_start(); echo "1"; ob_flush(); flush(); sleep(1); echo "2"; ob_flush(); flush(); sleep(1); // ...
Я не думаю, что это классный способ сделать что-то подобное. Такие вещи нужно делать на стороне клиента с javascript, а не на стороне сервера с php.