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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- システム CPUの問題について 2 2022/07/09 12:04
- IT・エンジニアリング 不具合の現状認識をしないプログラマって信用できる人? できない人? 8 2023/07/28 09:09
- YouTube ユーチューブの作成に時間が掛かるのですが,,, アップロードしてそのあと、 アップロード完了、 まも 2 2022/06/01 20:02
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- PHP PHP MySql ページング 2 2022/09/20 06:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部プログラム実行時の戻り値
-
ASP.NET(VB)VBソースからJavas...
-
【JavaScript】confirmのボタン...
-
カーソルの動きに合わせてDBか...
-
ローカル用HTMLファイルの安全...
-
リンクを押すとEXEファイルを実...
-
saved from url=(0013)abou
-
Ajaxでpostした内容のresponse...
-
HTMLでリアルタイムグラフを作...
-
wininet.dllのInternetOpenの同...
-
データ受け渡しについて
-
HTMLでDBからデータを表形式で...
-
JK-FFを使う非同期10進・2進カ...
-
subversionでコミットしたらftp...
-
非同期通信を使うタイミングが...
-
セレクトボックスのHTMLを教え...
-
JQuery サーバー上にアップする...
-
Javadcriptでwebサーバー側にあ...
-
[JavaScript] preven...
-
HTMLファイルにテキストファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASP.NET(VB)VBソースからJavas...
-
呼び出し元のURLを知りたいのです
-
ブラウザ閉じたらサーバー処理...
-
読み込み中に「Now Loading」を...
-
PHPでフォームの自動入力できま...
-
PHPでオンライン将棋ゲーム
-
sleepの負荷
-
PHPで一定時間が経過すると処理...
-
PHPのリアルタイム表示について
-
include 再読み込み
-
php ob_flushが全く動作しない
-
ブラウザを閉じた瞬間にログアウト
-
jQueryのAjaxで通信の途中結果...
-
PHPにコネクションプールってあ...
-
PHPで タイピング練習サイトを...
-
JSTLを利用してJavascriptの結...
-
cakephp2とsmartyの表示が遅い
-
処理中インジケータの表示
-
PHPでpostされた値をクライアン...
-
PHP内でJavaScriptの処理は可能?
おすすめ情報