Подтвердить что ты не робот

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

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

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

Спасибо

4b9b3361

Ответ 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?) Могло дождаться, пока страница будет полностью загружена, прежде чем передавать ее в браузер.