开发者

How to echo in PHP while the script is still executing?

I developed a facebook application in PHP开发者_如何学Go. The problem is that it takes 2 minutes to display the result. This might confuse the user, who sees a blank canvas and leaves.

I just want to echo a statement that it is still processing.

I tried flush(); and ob_flush(); and ob_start(); but it is of no use.

Is there any other simpler alternative to address my specific problem?

I tried this, but it did not work as well.

ob_implicit_flush(true);
ob_end_flush();

for ($i=0; $i<5; $i++) {
   echo $i.'<br>';
   sleep(1);
}

EDIT:

The above code works perfectly fine with IE and other Browsers. Only Chrome has this issue.


Convert it to an AJAX request, where you load a quick page which can have anything you want, and then loads in data from the slower page in the background.

flush() won't do what you want because it will return only part of the output and the client will tend to wait for the complete page.


Call flush(); as often as required.

Unfortunately, this might or might not make the browser feel happy to display your stuff. Even on IE, the result isn't predictable.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜