[PHP-users 4967] Re: IE利用時のflush() の扱い

Yasuo Ohgaki php-users@php.gr.jp
Fri, 25 Jan 2002 12:34:10 +0900


大垣です。

回答ではないのですが、、、

Linux@Lupin.net wrote:
> 札幌のかずと申します。
> 
> 環境 【php4.0.6,postgreSQL 7.1.3, apache1.3.22 IE5.50.4807.2300】
> 
>  flush() をテストした際に、
> 
>  IEの場合、リロード時は、意図したような結果が表示されるのですが、
>  新たに呼び出した場合は、
>  フラッシュされずに、バッファリングされてしまいます。
>  NEで同じスクリプトを試験した場合は、うまくフラッシュされます。
> 
>  PHP4:php.iniの
>  implicit_flush = Off
>  implicit_flush = On
>  共に試しましたが、結果はかわりませんでした。
> 
>  何かヒントがあれば、ご教示下さい!
>  お願いいたします。
> 
> <html>

<head></head>を付けると直るとか?
HTML parserがheadタグが無いために出力を
抑制しているのかも知れません。
NNでフラッシュされると言うことはPHPの問題では無いと思います。

> <body>
> <?php
> ob_end_flush();

php.ini-recommendedを使ったPHP 4.1.xでこの様にob_end_flush()を
使うとバグに当たります。(理由はバグDBに書いてあります)

4.0.6のデフォルトではoutput_buffering=Offになっているので
ob_end_flush()は必要ないと思います。

output_bufferを使っている場合は、ob_implicit_flush()を使って
flushする必要があります。

> echo "Test \n";
> flush();
> for($i = 0; $i < 3 ; $i++){
>  echo "$i\n";
> flush();
> sleep(1);
> }
> ?>
> </body>
> </html>
-- 
Yasuo Ohgaki
yohgaki@dd.iij4u.or.jp

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/