許せない心理テスト

phpの処理中に画面表示ををするには?
phpの処理中にalertや画面表示ができるように依頼があり。
使ってはいけない方法もあり解決方法がみつからず困っています。

処理内容
5回ループする処理で1回の処理に約10秒かかる、
各回の処理が終わったところで画面表示やalertをする。

使ってはいけない方法
・iframeやAjaxなどの非同期処理みたいな事はしない。(却下されました、、)
・このphpのループの各回でsubmitや再読み込みをさせない。

今までphpの処理が全て終わってから画面表示するイメージでいたので、
実現できるのか確認するため下記のソースを作りました。
結果:10秒ではなく50秒後にすべてのalertがでてきました。

----------ここから----------
<html><head>
<script>
<!--
<?
for(i=0; i<5; i++){
//10秒の処理
?>
alert("メッセージ:".i);
<?
}
?>
//-->
</script>
</head>
<body>無理な気がする</body>
</html>
----------ここまで----------
(変数のダラは抜いています)

使ってはいけない方法以外に解決方法はあるのでしょうか。

A 回答 (1件)

<html>


<head>
</head>
<body>
<?php
for($i=0; $i<5; $i++){
sleep(2);
echo ("メッセージ:$i<br />");
ob_flush();
flush();
}
?></body>
</html>

これでいかがですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
ob_flush()、flush()
の存在を知らなかったです、無事解決できました。

お礼日時:2010/11/13 13:03

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


おすすめ情報