28
Сен
2015

Вывод текста в браузер во время выполнения скрипта, а не после завершения

При работе длинных скриптов, бывает необходимость посмотреть за ходом выполнения, т.е. хочется выводить какие-либо данные на экран в браузер, прямо по ходу выполнения скрипта. Нашел данный пример в интернете:

ob_implicit_flush(1);
for($s='',$x=0;$x<10;$x++) { 
  ob_start(); 
  echo 'data';
  $s = ob_get_contents();
  ob_flush();
  flush();
  ob_end_clean();
  ob_end_flush(); 
  sleep(1);
}

По-идее данный пример должен каждую секунду 10 раз выводить слово 'data'. Ни на Денвере, ни на хостинге NIC/RU-CENTER данный пример не работает - сначала проходит 10 секунд, потом полностью выводится весь текст. Несколько дней читаю интернет, у половины людей похожие конструкции с flush()/ob_flush() работают, у половины нет. В целом, какой-либо ясности по вопросу нет. Как осуществить постоянный вывод в браузер? Про header('Content-Type: text/event-stream') знаю, это не совсем то, что нужно, хочется чтобы в браузер выводился именно код с форматированием.

Источник: https://ru.stackoverflow.com/questions/454322/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0-%D0%B2-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80-%D0%B2%D0%BE-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0-%D0%B0-%D0%BD%D0%B5-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F

Тебе может это понравится...

Добавить комментарий