Вывод страницы браузеру до полной её загрузки...

Fuz

Новичок
Вывод страницы браузеру до полной её загрузки...

На странице выполняется очень долгий парсинг большой БД, в это время должно выводится сообщение типа "loading..."
К примеру :
PHP:
Print 'loading...';
$result->export($something);
Но до тех пор пока эксопрт не выполнится на экране будет пусто. я знаю,
что это делается с помощью ob_start() и ob_end_flush(), но мануал чего-то не очень помог.
 

chisto_tolyan

Враг народа
поиск поможет...а вообще "парсинг большой БД" нужно запускать в фоне...
 

WP

^_^
Я как раз недавно такое делал =) Запуск индексации сайта, может исполнятся часами. По onclick кнопки запуск делаем caller = new Image(); caller.src= 'урл до скрипта'; setTimeout('document.location.reload()',500); Картинка обращается к скрипту в котором
PHP:
set_time_limit(0);
ignore_user_abort(TRUE);
Пишет в БД то что мы успешно запустились. После релоада смотрим в базе, если запущено, то выводим "Loading..." и реалодим каждые 10 сек. А в конце обрабатывающего скрипта пишем в БД, то что процесс закончен (через registrer_shutdown_function() лучше всего). Можно переодически записывать сколько процентов закончено :)
 

Fuz

Новичок
Фанат
я не знаю. цитирую "мануал не помог", поэтому и написал сюда. В чём проблема?
WP
это интересно, но хочу всё-таки разобраться с ob_start() и ob_end_flush()...
 

Фанат

oncle terrible
Команда форума
ну так прочитай в мануале, что делает ob_start и сравни с тем, что тебе нужно.
 

baev

‹°°¬•
Команда форума
Не, по-моему, это тот случай, когда нужно «носом ткнуть»:
в мануале ни в статье об ob_start(), ни в статье об ob_end_flush() нет ссылок на просто flush()...

(Насколько я понял, речь не идёт об «индикаторе выполнения» — автору нужно тупо вывести одну строчку до вывода тех, что ещё будут генерироваться.)
 
Сверху