Показывать результаты, пока script все еще выполняется

Сейчас, чтобы увидеть результаты, мне нужно подождать, пока весь код не будет выполнен. Он зависает, пока он не закончится и не загрузится. Как только он закончит, вы увидите всю информацию, которую я искал. Есть ли способ показать это, пока script все еще работает? Так скажите, если у меня есть печать где-то в верхней части моего кода, я хочу, чтобы она показывала, когда она вызывалась не при выполнении script.

Кто-нибудь знает, как это сделать?

Спасибо

Ответ 1

Вы можете использовать буферизацию вывода следующим образом:

ob_start();

echo('doing something...');

// send to browser
ob_flush();

// ... do long running stuff
echo('still going...');

ob_flush();

echo('done.');
ob_end_flush(); 

Ответ 2

Вы можете сделать это с буферизацией вывода. Включите буферизацию вывода вверху вашего script с помощью ob_start(). Это заставляет PHP отправлять выходные данные в браузер. Вместо этого он хранится внутри. Сбросьте свой вывод в любое время с помощью ob_flush(), и содержимое будет отправлено в браузер.
Но имейте в виду, что на выходную буферизацию влияют многие другие факторы. Я думаю, что некоторые версии IIS будут ждать завершения script, игнорируя буферизацию вывода. И некоторое антивирусное программное обеспечение на стороне клиента (было ли оно Panda?) Могло дождаться, пока страница будет полностью загружена, прежде чем передавать ее в браузер.