
echo "<p>処理を開始します。しばらくお待ちください…</p>\n";
echo str_pad(" ",4096)."\n";
ob_end_flush();
ob_start("mb_output_handler");
for ( $i = 1; $i <= 3; $i++ ) {
sleep( 2 ); // 時間がかかる処理
echo "<p>". $i * 10 ."件の処理を完了しました</p>\n";
ob_flush();
flush();
}
echo "処理が完了しました\n";
サンプルのプログラムを記述しておきます。
重要な点として、
1.以前は正常に動作していました。
2.サンプル実行で実際の動きを見せるようなっている他サイトも動作しません。
それらは、おそらく、正常に動作しているのでしょうが・・・・。
このプログラムを実行しているサーバーの問題ではない気がします。
なぜなら、他のサンプルサイトの実行結果も、正常に動作しないからです。
firefox , IE8 どちらも、全ての処理が終わってから、まとめて表示されます。
あらゆる対処方を施しましたが、結果は変わりません。
これは、私のパソコンがおかしいのでしょうか?
パソコン側で設定する事など出来るのでしょうか?
原因や対処方が分かる方がいらっしゃいましたらご教示お願い致します。
No.1ベストアンサー
- 回答日時:
ブラウザの仕様の問題でしょうね。
かならずしも受け取ったデータをすぐに表示するのが効率的というわけでは
ないので、ブラウザ側でためてから出力しているのかもしれません
ajaxなど非同期処理でデータを抽出する方が現実的だと思いますよ
ありがとうございます。
やはり、ブラウザの仕様なのでしょうか。
Firefox、IE8ともに、ダメって事ですね。
至急対応したい処理でしたので、とりあえずは他の方法で対処する事にしました。
ですので、ajaxはこれから勉強して今後取り入れたいと思います。
ありがとうございました。
No.2
- 回答日時:
より
”
PHP および PHP が使っている (CGI, Web サーバなどの) バックエンドの書き込みバッファをフラッシュします。 それまでのすべての出力をユーザのブラウザに対して出力しようと試みますが、 注意すべき点があります。
flush() はウェブサーバのバッファリング手法を上書きすることはできません。 また、クライアント側のブラウザでのバッファリングにはなんの影響も及ぼしません。 PHP のユーザレベルでの出力バッファリングの仕組みにも影響を及ぼしません。 つまり、もし ob 出力バッファを使用しているのなら ob_flush() と flush() の両方をコールしなければなりません。
いくつかのサーバ、特に Win32 上ではスクリプトからの出力をブラウザに 結果を送信する前にスクリプトが終了するまでバッファに溜めることがあります。
mod_gzip のような Apache 用のサーバモジュールはそれ自体がバッファリングを行います。 そのため、flush() をコールしても 即時にデータをクライアントに送信しないという結果につながります。 ”
ありがとうございます。
上記ページに従って、何パターンも作成しました、また、mod_gzipの件も対処しましたが
結果は同じでした。
利用しているサーバーのみ、正常に動作しないなら、理解できますが、
他の方がサンプル実行例として記載している、沢山のサイトでも
正常に動作しないという点で、私のパソコンだけが何らかの原因でそうなっているのかと
思った次第です。
結果、違うやり方で、処理する事にしました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
PHPを使って、別サイトの一部を...
-
ファイルの遷移がうまく行われ...
-
submitで思うようにページが遷...
-
BASIC認証のフォームをデザイン...
-
重複を防ぐ記述について教えて...
-
PHPで画像の渡しが上手く行きま...
-
htmlspecialcharsが機能してい...
-
PHPについて。
-
phpでcookieがうまく保存されない
-
phpでこの記述をもっと簡単に書...
-
php エラー
-
PHP MySql 画像を取得
-
PHP でメールフォームを作成したい
-
marginの値でマイナス値を設定...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sleepの負荷
-
呼び出し元のURLを知りたいのです
-
ASP.NET(VB)VBソースからJavas...
-
ブラウザを閉じた瞬間にログアウト
-
PHPでフォームの自動入力できま...
-
GDとImageMagick どっちがおす...
-
このプログラムの認証ウィンド...
-
php ob_flushが全く動作しない
-
掲示板の作り方
-
イベント処理について
-
自作PHPがどれ程サーバの負担に...
-
スクリプト言語でおすすめのもの
-
読み込み中に「Now Loading」を...
-
PHPを書籍で勉強しているのですが
-
PHP内でJavaScriptの処理は可能?
-
mkdirでフォルダ名“予定表示”を...
-
10秒毎に同じプログラムを繰り...
-
PHPを用いてPOSTし、リダイレク...
-
PHPでオンライン将棋ゲーム
-
jQueryのAjaxで通信の途中結果...
おすすめ情報