2012-01-04 2 views
0

Ну у меня есть следующий код:Php заподлицо() браузер не показывает, пока некоторые данные не хранятся в кэш

<?php 
while(1==1){ 
echo"piece<br>"; 
flush(); 
}; 
?> 

Проблема с этим кодом является то, что сервер не отправляет 1 линии (piece<br>) в то время .. Посылает 10 строк на флеш или что-то ..

Я попробовал этот echo"piece<br>".str_repeat("\n",4096)

но не work.I не знаю, что делать .. Любые советы?

Edit: код в my previous question, но я не могу писать html :(

edit2:. У меня есть upload my script here Работает хорошо только в Internet Explorer

+0

Этот вопрос действительно совсем не отличается от вашего предыдущего вопроса? http://stackoverflow.com/questions/8734820/php-flush-function –

+0

@MarkBaker да, в предыдущем вопросе я ничего не мог отправить (html) с flush() –

ответ

2

Вы можете иметь проблему. с кешированием на стороне браузера. У меня была эта проблема с Safari: использование Firefox позволило мне увидеть данные в прямом эфире.

Если вы видите это в разных браузерах, то вы можете столкнуться с каким-то ser Кэширование на стороне ver: http://php.net/manual/en/function.flush.php

+0

только то, что хорошо работает .. Все остальные браузеры имеют разные результаты (10 строк/15 строк/14 строк) (Firefox/Safari/Chrome) (цифры являются случайными). - Итак, как я могу управлять кешем клиента? –

+0

Я сделал это, отправив много непечатаемых файлов для очистки кеша. – Fletch

+0

Если я использую 'sleep (1)' работает в Firefox! Но если я использую эту функцию, то сервер будет использоваться в течение 1 секунды. Правильно? Это проблема Можете ли вы написать пример/код PLZ? –