Ответ 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();
Сейчас, чтобы увидеть результаты, мне нужно подождать, пока весь код не будет выполнен. Он зависает, пока он не закончится и не загрузится. Как только он закончит, вы увидите всю информацию, которую я искал. Есть ли способ показать это, пока script все еще работает? Так скажите, если у меня есть печать где-то в верхней части моего кода, я хочу, чтобы она показывала, когда она вызывалась не при выполнении script.
Кто-нибудь знает, как это сделать?
Спасибо
Вы можете использовать буферизацию вывода следующим образом:
ob_start();
echo('doing something...');
// send to browser
ob_flush();
// ... do long running stuff
echo('still going...');
ob_flush();
echo('done.');
ob_end_flush();
Вы можете сделать это с буферизацией вывода. Включите буферизацию вывода вверху вашего script с помощью ob_start()
. Это заставляет PHP отправлять выходные данные в браузер. Вместо этого он хранится внутри.
Сбросьте свой вывод в любое время с помощью ob_flush()
, и содержимое будет отправлено в браузер.
Но имейте в виду, что на выходную буферизацию влияют многие другие факторы. Я думаю, что некоторые версии IIS будут ждать завершения script, игнорируя буферизацию вывода. И некоторое антивирусное программное обеспечение на стороне клиента (было ли оно Panda?) Могло дождаться, пока страница будет полностью загружена, прежде чем передавать ее в браузер.