Буферизация вывода работает в правильном направлении, вы начинаете буферизацию вывода с ob_start()
, как если бы вы работали с сеансами (session_start
) где-то в верхней части вашего скрипта, перед отправкой любого вывода.
Затем вы можете использовать ob_flush
и flush
, чтобы продолжать сбрасывать вывод. Например, если вы находитесь в цикле foreach
и в конце каждого цикла вы хотите вывести новую строку и подождать 1 секунду, вы можете сделать это.
Но также посмотрите на set_time_limit
, потому что в противном случае люди могут испытать тайм-аут после 30 секунд или около того.
Еще одно быстрое замечание: некоторые браузеры требуют минимального количества байтов вывода, прежде чем они начнут его показывать. Я не уверен, сколько это было байтов, я думаю, что это было около 4000. Кроме того, некоторые браузеры не будут отображать определенные элементы (например, таблицы), пока они не будут закрыты. Так что промывка там тоже не сработает.