プロが教えるわが家の防犯対策術!

PHPの処理の途中結果を表示させようとして、下記ブラウザで結果を確認しました。

-処理内容-
for($i = 0;$i<10;$i++){
~とある処理~
ob_flush();
flush();
}
---

・Firefox
・Google Chrome 
・Internet Explorer 8(以下IE8)

IE8以外だと想定通りの結果が表示されますが、IE8のみ、全ての処理が完了してから、表示されます。
Googleで検索した所、IE(IE8かどうかは不明)だと256バイトの出力を受けてからページを表示し始める、と書いてあったので、下記処理を追加しました。
参考:http://php.net/manual/ja/function.flush.php

-処理内容-
for($i = 0;$i<10;$i++){
~とある処理~
for($ie = 0;$ie<256;$ie++){
echo ' ';
}
ob_flush();
flush();
}
---

しかし、結果は変わりませんでした。

IE8で、PHPの処理の途中結果を表示させる方法についてアドバイス頂けないでしょうか。
宜しくお願い致します。

A 回答 (2件)

デバッグで何らかの経過を見たいなら


レスポンスじゃなくてlog4phpを使うことも
考えたら如何でしょう。

http://www.nurs.or.jp/~sug/soft/log4j/log4php1.htm
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>デバッグで何らかの経過を見たいなら
>レスポンスじゃなくてlog4phpを使うことも考えたら如何でしょう。
log4phpは扱ったことが無い(初めて聞いた)ので、参考にさせていただきます。

今回はデバッグ目的ではなく、WEBページ上に、PHPの途中処理の結果を出力させたかったのですが、ここの処理以外に問題がある可能性があるので、後は自力で解決したいと思います。
有難うございました。

お礼日時:2011/08/02 14:55

for($ie = 0;$ie<256;$ie++){


echo ' ';
}

for($i = 0;$i<10;$i++){
~とある処理~
ob_flush();
flush();
}
    • good
    • 0
この回答へのお礼

ご回答有難うございます。

for文のとある処理の手前で、空白256個を出す処理を行うようにしましたが、
結果は変わりませんでした。

ここの処理以外に問題がある可能性があるので、後は自力で解決したいと思います。
有難うございました。

お礼日時:2011/08/02 14:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!