comet - 请问如何清除php的缓存区
phpcn_u1582
phpcn_u1582 2017-05-16 13:10:26
0
1
451

代码如下

while(true){

        $getitem = mysql_query("select * from bulletin order by id desc limit 1");

        $item = mysql_fetch_array($getitem);

        echo json_encode($item,JSON_UNESCAPED_UNICODE);

        ob_flush();

        flush();

        ob_clean(); //不太懂ob_clean的作用

        mysql_data_seek($getitem,0);

        sleep(1);
}

php缓存区通过ob_flush和flush可以把缓存区的内容输出给浏览器,而ob_clean的作用是清空缓存区,所以预想的结果是每次只输出最后一条数据。但是实际上之前的输出并没有清空,请问怎么实现我的需求呢?

phpcn_u1582
phpcn_u1582

모든 응답(1)
洪涛

다음 세 가지 기능의 사용법

으아아아

ob_start()는 모든 출력을 저장하기 위해 서버에서 버퍼를 엽니다. 따라서 echo가 사용될 때마다 프로그램이 종료되거나 ob_flush()를 사용하여 종료될 때까지 출력이 버퍼에 추가됩니다. 그런 다음 서버의 버퍼 내용이 브라우저로 전송되고, 브라우저는 이를 구문 분석하여 표시합니다.

ob_end_clean 함수는 버퍼의 내용을 지우고 버퍼를 닫지만 내용을 출력하지는 않습니다.
이때, 버퍼의 내용을 얻으려면 ob_end_clean() 앞에 ob_get_contents() 함수를 사용해야 합니다.
이 경우, ob_end_clean()을 실행하기 전에 내용을 변수에 저장하고, ob_end_clean() 후에 해당 변수를 연산할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!