Суть в следующем:
Скрипт что-то там делает, потом нужна пауза на 3 секунды для вывода сообщения, далее скрипт продолжает что-то там делать...
Функция sleep не подходит — так как идёт задержка на выполнение всего скрипта, а потом всё пролетает одним махом, несмотря на то, что этот sleep находится в конце скрипта.
Как такое можно осуществить?
Вот, к примеру, я предполагаю, что в результате этого сложнейшего кода:
echo 'Сообщение 1'; echo 'Сообщение 2';
Дело в буферизации? Она нужна вообще?
Погуглил, увидел что я не один такой, у многих не работает sleep. Есть решения на Яваскрипт, но он браузер останавливает, даже картинки не успевают загрузиться.
Пока решил сделать так — пишу сообщение на одной странице, потом с помощью кода
<script language="JavaScript"> setTimeout (function(){self.location="адрес страницы";}, 3000); </script>
Без танцов с бубнами никак )))
Увы, так тоже не работает… Так-же, сначала пауза 5 сек. а потом всё сразу без задержек пролетает.Вот так работает:
Код PHP:
1 echo 'Сообщение 1';
2 flush();
3 sleep(5);
4 echo 'Сообщение 2';
Проверял на локалхосте, работает. Зависит от настроек php.ini. Попробуйте поэксперементировать. Вот здесь подробнее о буферизации вывода. Можно попробовать установить директиву implicit_flush на true посредством ini-set(). Или что-то ещё. Голова уже совсем не варит, ночь ))) В любом случае связано с буферизацией вывода echo().Увы, так тоже не работает… Так-же, сначала пауза 5 сек. а потом всё сразу без задержек пролетает.