[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: flush() ob_flush()
iliachou
Всем привет, есть задача заставить парсер выводить сообщения в процессе выполнения, использовал указанные выше функции. не срабатывает. в чем моя ошибка ? переменные в php.ini

output_buffering = Off
zlib.output_compression = Off

также применял такие способы -

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Pragma: no-cache');
ob_end_flush();

///код




Спустя 1 час, 15 минут, 2 секунды (18.04.2012 - 15:46) glock18 написал(а):
Цитата (iliachou @ 18.04.2012 - 12:31)
Всем привет, есть задача заставить парсер выводить сообщения в процессе выполнения


а при чем здесь кеширование?

Спустя 4 минуты, 53 секунды (18.04.2012 - 15:50) iliachou написал(а):
я так понимаю что в процессе выполнения происходит буферизация она же форма кеширования. все сообщения собираются в буфер и выводятся только на последней стадии выполнения а не "на лету" так сказать.

Спустя 10 минут, 2 секунды (18.04.2012 - 16:00) glock18 написал(а):
Цитата (iliachou @ 18.04.2012 - 13:50)
я так понимаю что в процессе выполнения происходит буферизация она же форма кеширования. все сообщения собираются в буфер и выводятся только на последней стадии выполнения а не "на лету" так сказать.

ну что вы, какое это кеширование... как-то я озадачивался мгновенной отправкой ответа, но сейчас уже не вспомню детали, кроме того, что

1. надо использовать flush() для отсыла
2. ie не начинает отображать ничего, пока не получит как минимум 256 байт, для чего обычно отправляют 256 пробелов в начале тела ответа

3. еще, кажется, нужно отстроить как-то сервер (nginx или apache в зависимости от того, что за фронтенд-сервер) для этого, но не помню уже как

Спустя 2 минуты, 11 секунд (18.04.2012 - 16:03) glock18 написал(а):
вот тут что-то похожее на правду, попробуйте: http://netfaq.ru/php-script/PHP_dopilivaem_Flush_napilnikom

Спустя 17 часов, 20 минут, 59 секунд (19.04.2012 - 09:24) iliachou написал(а):
спасибо, сейчас попробую.

Спустя 1 час, 4 минуты, 25 секунд (19.04.2012 - 10:28) iliachou написал(а):
<?php 
ob_start(); // включаем буфер
// создание нового ресурса cURL

include 'simple_html_dom.php';
$start_time = microtime(true); //how much time it do this.

echo "Hello!<br>";
ob_flush(); // отдаем
ob_end_flush();
......

?>


не помогло. :(

Спустя 26 минут, 4 секунды (19.04.2012 - 10:54) Oyeme написал(а):
Check it:

for($i = 0;$i<=1000000;$i++){
if (($i / 500 )%2 && $i%500 == 0){
//sending..
echo " Try to see me..";
@ob_flush();
flush();
}
}

Спустя 23 минуты, 40 секунд (19.04.2012 - 11:18) iliachou написал(а):
в первый раз вывело мгновенно но и выполнение прекратилось тут же, сейчас запускаю весит на трансферинге.

Вроде как выводит. Но все таки не во время выполнения т.к

for($i = 0;$i<=1000000;$i++){
if (($i / 500 )%2 && $i%500 == 0){
//sending..
echo " Try to see me..";
sleep(1);
@ob_flush();
flush();
}
}

в процессе не выводит.

Спустя 8 часов, 11 минут, 59 секунд (19.04.2012 - 19:30) Гость_Winston написал(а):

Спустя 15 часов, 50 минут, 31 секунда (20.04.2012 - 11:20) iliachou написал(а):
круто, попробую

Спустя 2 дня, 22 часа, 44 минуты, 25 секунд (23.04.2012 - 10:05) iliachou написал(а):
засада в общем с этим выводом.

<?php 

for ($i = 1; $i <= 10; $i ++) {
echo str_pad($i . '<br />', 256, ' ', STR_PAD_LEFT);
flush();
sleep(1);
}
?>

тоже не помог, выводит в конце сразу 10 строк.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.