Просмотр полной версии : Как сделать постепенный вывод текста в пхп?
bootsektor
07.06.2010, 05:01
<?
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 числа. а надо постепенно. как сделать? спасибо
general.fox
07.06.2010, 05:17
Может дело в браузере, а не в коде.
AJAX. http://ru.wikipedia.org/wiki/JQuery
spider-intruder
07.06.2010, 05:26
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 параметр время. за которое она должна отобразиться.
Хоят у меня в лисе и твой пример пашет нормально...
spider-intruder
07.06.2010, 05:35
Некоторые версии Microsoft Internet Explorer начинают отображать страницу только после получения 256 байт вывода, поэтому может понадобиться отправить дополнительные пробелы перед очисткой, чтобы такие браузеры вывели страницу.
из мана по команде flush();
phpdreamer
07.06.2010, 09:55
скрипт из первого поста может не работать если в php.ini
output_buffering поставлен больше чем выводимые за 1 этап данные (у тебя выводяться такие маленькие строки, что должно быть output_buffering = 0 )
и должно быть вкл. flush:
implicit_flush = On
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot