通知
すべてクリア

phpでflush()を使えるようにするには?

投稿: 2
質問投稿者
コミュニティ参加日: 3か月前

新フリーサーバーで、
動作が終わってからすべて表示するのではなく、
随時、結果を表示させたいので、flush()を使いたいのですが、
まったく反応してくれません。

PHP.iniで、
output_buffering = Off
zlib.output_compression = Off
設定してみましたが、変化なしでした。

flush()がうまく動作すれば、下記のようなプログラムでは、☆が一つづつ表示されるはずなのですが、
シンクラウドでは、うまく動作しません。

<?php
ob_end_flush(); //(1)
for ($i=0;$i<1000;$i++) {
print "☆";
flush(); //(2)
sleep(1);
}
?>

どうしたら、シンクラウドでflush()を使えるようにできるでしょうか?

対象サービス
2件の返信
投稿: 1
コミュニティ参加日: 2週間前

リフレッシュしたら表示されていた☆がリセットされてしまうのではないでしょうか。

☆が表示される

リフレッシュされる(消える)

☆が表示される

リフレッシュされる(消える)が繰り返されているのでは。

返信
投稿: 2
質問投稿者
コミュニティ参加日: 3か月前

レス、ありがとうございます。

一定時間待って、処理が全部終わったら、ちゃんと

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

という感じで、連続した☆が表示されるので、消えてはないようです。

 

ちなみに、他のサーバーではこのプログラムで、

ちゃんと☆が一づづ表示されます。

返信