コードは次のとおりです
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 の機能はキャッシュ領域をクリアすることであるため、期待される結果は毎回最後のデータのみを出力することになります。 。しかし実際には、前の出力はクリアされていません。どうすれば私のニーズを達成できますか?
以下の3つの機能の使い方
リーリーob_start() はサーバー上のバッファを開き、すべての出力を保存します。そのため、echo が使用されるたびに、プログラムが終了するか、ob_flush() を使用して終了されるまで、出力はバッファーに追加されます。次に、サーバー内のバッファの内容がブラウザに送信され、ブラウザによって解析されて表示されます。
関数 ob_end_clean はバッファの内容をクリアしてバッファを閉じますが、内容は出力しません。
現時点では、関数 ob_get_contents() を ob_end_clean() の前で使用して、バッファの内容を取得する必要があります。
この場合、ob_end_clean()を実行する前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。