PHP: <? sleep (10); echo "1"; ob_flush(); flush(); sleep (10); echo "2"; ob_flush(); flush(); sleep (10); echo "3"; ob_flush(); flush(); ob_end_flush(); ?> этот скрипт работает так что ждем 30 секунд и только потом появляеться 3 числа. а надо постепенно. как сделать? спасибо
Code: function slow_echo($text,$time) { for($i=0;$i<strlen($text);$i++) { echo $text[$i]; sleep($time/strlen($text)); ob_flush(); flush(); } } Пример: slow_echo("12345",5); 1 параметр строка 2 параметр время. за которое она должна отобразиться. Хоят у меня в лисе и твой пример пашет нормально...
Некоторые версии Microsoft Internet Explorer начинают отображать страницу только после получения 256 байт вывода, поэтому может понадобиться отправить дополнительные пробелы перед очисткой, чтобы такие браузеры вывели страницу. из мана по команде flush();
скрипт из первого поста может не работать если в php.ini output_buffering поставлен больше чем выводимые за 1 этап данные (у тебя выводяться такие маленькие строки, что должно быть output_buffering = 0 ) и должно быть вкл. flush: implicit_flush = On