検索

ホームページ  >  に質問  >  本文

Comet - PHP キャッシュ領域をクリアする方法

コードは次のとおりです

while(true){

        $getitem = mysql_query("select * ID 説明制限 1 で速報順から選択");

        $item = mysql_fetch_array($getitem);

        echo json_encode($item,JSON_UNESCAPED_UNICODE);

        ob_flush();

        フラッシュ();

        ob_clean(); //ob_cleanの機能がよく分かりません

        mysql_data_seek($getitem,0);

        スリープ(1);
}

PHP キャッシュ領域は、ob_flush とフラッシュを通じてキャッシュ領域の内容をブラウザに出力できます。ob_clean の機能はキャッシュ領域をクリアすることであるため、期待される結果は毎回最後のデータのみを出力することになります。 。しかし実際には、前の出力はクリアされていません。どうすれば私のニーズを達成できますか?

phpcn_u1582phpcn_u15822757日前467

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-05-16 13:12:26

    以下の3つの機能の使い方

    リーリー

    ob_start() はサーバー上のバッファを開き、すべての出力を保存します。そのため、echo が使用されるたびに、プログラムが終了するか、ob_flush() を使用して終了されるまで、出力はバッファーに追加されます。次に、サーバー内のバッファの内容がブラウザに送信され、ブラウザによって解析されて表示されます。

    関数 ob_end_clean はバッファの内容をクリアしてバッファを閉じますが、内容は出力しません。
    現時点では、関数 ob_get_contents() を ob_end_clean() の前で使用して、バッファの内容を取得する必要があります。
    この場合、ob_end_clean()を実行する前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。

    返事
    0
  • キャンセル返事