スレッド表示 | フラット表示〕 全トピック 920 件中 542 番目 次≫ ≪前

flushについて・・・

created: 2004-09-30 16:04 | modified: 2004-10-07 01:19 | reply: 8

[1827] flushについて・・・

user: りらくま | created: 2004-09-30 16:04
echoで出力する文字をリアルタイムで
ブラウザに表示させたいのですが、
スクリプト終了後に一括で表示されてしまいます。
この件に関していろいろと調べてみたのですが
どうしても原因がわかりません。
以下に環境と検証に使用したスクリプトを記載しますので、
何かわかる方みえましたら宜しくお願い致します

環境
php4.3.7+apache1.3+win2000+IE6SP1
(php.iniはデフォルトの状態です)

検証スクリプト
<html>
<head><title>test</title></head>
<body>
<?php
echo str_repeat(" ", 256);
$i = 3;
while($i > 0)
{
echo $i."<br>\n";
ob_end_flush();
flush();
ob_flush();
sleep(1);
$i--;
}
?>
</body>
</html>
reply: 1831 返信 編集 削除

[1831] 警告が出ましたが動きました。

user: シロウ | created: 2004-09-30 18:56
<html>
<head><title>test</title></head>
<body>
<?php
echo str_repeat(" ", 256);
$i = 3;
while ($i > 0){
echo $i."<br>\n";

flush();
ob_flush();
usleep(200000);
$i--;
}
?>
</body>
</html>
警告をなくしてみました。
たぶん関係ないと思います。
ブラウザに問題があるのではないでしょうか?

[サンプル]
http://www.rakuto.net/study/htdocs/test/
ちゃんと見れるとプログレスバーが動きます。

[リファレンス]
http://jp2.php.net/manual/ja/function.flush.php

私が確認した環境は以下です。
ブラウザ:Internet Explorer6.x
OS:WindowsXP Home Edition
Apache/2.0.48 (Win32) PHP/5.0.2


サンプルの環境は以下です。
OS:i386-redhat-linux-gnu
Apache/1.3.27  PHP/4.3.1


以上、です。
Parent: 1827  reply: 1832 返信 編集 削除

[1832] Re.警告が出ましたが動きました。

user: りらくま | created: 2004-09-30 20:22
お返事ありがとうございます。


> 警告をなくしてみました。
> たぶん関係ないと思います。
> ブラウザに問題があるのではないでしょうか?
>
usleepは使えなかったのでsleepでやってみましたがダメでした。


> [サンプル]
> http://www.rakuto.net/study/htdocs/test/
> ちゃんと見れるとプログレスバーが動きます。
>
これもダメでした・・・
ブラウザの問題なのでしょうか?
それにはどういったものがあるでしょうか?
同じバージョンのIEなのに、
できるできないという違いがでてくるなんて・・
ちんぷんかんぷんです(>_<)
Parent: 1831  reply: 1833 返信 編集 削除

[1833] いろいろと検証中・・・

user: りらくま | created: 2004-10-01 09:21
教えて頂いたサンプルサイトを環境をかえて試してみた所、
下記のような結果になりました!

WinXP+IE6 ○
Win2000Pro+IE6 ×
Win2000Server+IE6 ×
Win2000Pro+IE5.5 ×

今の所これだけですが、できればもう少し検証してみたいと思いますが・・・
いったい何が原因なのかますます・・^^;
Parent: 1832  reply: 1834 返信 編集 削除

[1834] 違い

user: りらくま | created: 2004-10-01 10:39
WinXP+IE6の環境でも×でした・・。
これは、プロキシを使用してます。
×だった環境は全て使用してます。
もしかして・・・プロキシでしょうか?
だとすると・・・
こういった動作をさせるのは諦めた方が良いでしょうか・・・
回避策とかあればいいのですが・・・
Parent: 1833  reply: 1835 返信 編集 削除

[1835] プロキシでしたか

user: シロウ | created: 2004-10-01 23:33
強制的にキャッシュを無効にするサンプルがありました。
<?php
// 日付が過去
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// 常に修正されている
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

// HTTP/1.0
header("Pragma: no-cache");
?>

http://jp2.php.net/manual/ja/function.header.php

プロキシ経由だと無理っぽいですね。
HTTPのやり取りをプロキシがいったん引き受けてから
その結果をクライアントが受け取るんですよね?
お手上げです。残念!
Parent: 1834  reply: 1836 返信 編集 削除

[1836] ひとつだけわからないことが・・・

user: りらくま | created: 2004-10-04 08:48
> プロキシ経由だと無理っぽいですね。
> HTTPのやり取りをプロキシがいったん引き受けてから
> その結果をクライアントが受け取るんですよね?
> お手上げです。残念!

プロキシだとダメですかぁ・・・
でもひとつだけわからないことが・・・
ASPだと1行ずつ表示するんですよね・・・
どうしてでしょうか・・・
ApacheとIISの違い!?
でも、プロキシという点では同じなので
ASPだけ表示されるっていうのがよくわからなくて・・・
う?ん^^;
Parent: 1835  reply: 1837 返信 編集 削除

[1837] プロキシのキャッシュ無効もだめ?

user: シロウ | created: 2004-10-04 11:45
[1835]のサンプルにあるプロキシのキャッシュを無効にするやつもだめでしたか?
それだともう分かりません。
お力になれずすみません。

[プロキシのキャッシュを無効]
http://www.rakuto.net/study/htdocs/test/
Parent: 1836  reply: 1844 返信 編集 削除

[1844] ありがとうございました

user: りらくま | created: 2004-10-07 01:19
お返事が遅れてしまってごめんなさい。
IEにてキャッシュの設定をはずして試した所ダメでした^^;
とりあえず・・諦めたいと思います^^;
ありがとうございました!
また何かありましたら宜しくお願いします。
Parent: 1837  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 542 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑