亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP緩沖區用法總結

2024-05-04 23:42:59
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP緩沖區用法,結合實例形式總結分析了PHP緩沖區的功能、使用技巧與相關注意事項,需要的朋友可以參考下
 

本文實例總結了PHP緩沖區用法。分享給大家供大家參考,具體如下:

我們先來看一段代碼。

<?phpfor ($i=10; $i>0; $i--){  echo $i;  flush();  sleep(1);}?>

按照php手冊里的說法:

該函數將當前為止程序的所有輸出發送到用戶的瀏覽器。

上面的這段代碼,應該隔一秒鐘輸出一次$i。但是實際中卻不一定是這樣。有可能是等了10秒鐘后,所有的輸出同時呈現出來。

好,我們來改一下這段代碼,改成

<?phpob_end_clean();//修改部分for ($i=10; $i>0; $i--){  echo $i;  flush();  sleep(1);}?>

嘿,加了這一句ob_end_clean();,居然就OK了。實際上,我們把ob_end_clean()換成ob_end_flush()也一樣OK。

我再來改一改。

<?phpfor ($i=10; $i>0; $i--){  echo $i;  ob_flush();//修改部分  flush();  sleep(1);}?>

運行一下,是不是發現$i也隔一秒輸出一次了?這是為什么呢?
別急,我們來看看php.ini。

打開php.ini,搜索output_buffering,我們會看到類似這樣的設置 output_buffering = 4096。正如它的名字output_buffering一樣,這個設置的作用就是把輸出緩沖一下,緩沖大小為4096bytes.

在我們的第一段代碼里,之所以沒有按預期的輸出,正是因為這個output_buffering把那些輸出都緩沖了。沒達到4096bytes或者腳本結束,輸出是不會被發送出去的。

而第二段代碼中的ob_end_clean()和ob_end_flush()的作用,就是終止緩沖。這樣就不用等到有4096bytes的緩沖之后才被發送出去了。

第三段代碼中,用了一句ob_flush(),它的作用就是把緩沖的數據發送出去,但是并不會終止緩沖,所以它必須在每次flush()前使用。

如果不想使用ob_end_clean(),ob_end_flush()和ob_flush(),我們就必須把php.ini里的output_buffering設得足夠小,例如設為0。需要注意的是,如果你打算在腳本中使用ini_set("output_buffering","0″)來設置,那么請停下來吧,這種方法是不行的。因為在腳本一開始的時候,緩沖設置就已經被載入,然后緩沖就開始了。

可能你會問了,既然ob_flush()是把緩沖的數據發送出去,那么為什么還需要用flush()???直接用下面這段代碼不行嗎??

<?phpfor ($i=10; $i>0; $i--){  echo $i;  ob_flush();  sleep(1);}?>

請注意ob_flush()和flush()的區別。前者是把數據從PHP的緩沖中釋放出來,后者是把不在緩沖中的或者說是被釋放出來的數據發送到瀏覽器。所以當緩沖存在的時候,我們必須ob_flush()和flush()同時使用。

那是不是flush()在這里就是不可缺少的呢?不是的,我們還有另外一種方法,使得當有數據輸出的時候,馬上被發送到瀏覽器。下面這兩段代碼就是不需要使用flush()了。(當你把output_buffering設為0的時候,連ob_flush()和ob_end_clean()都不需要了)

<?phpob_implicit_flush(true);for ($i=10; $i>0; $i--){  echo $i;  ob_flush(); #如果ob函數打開的情況下  sleep(1);}?>
<?phpob_end_clean();ob_implicit_flush(true);for ($i=10; $i>0; $i--){  echo $i;  sleep(1);}?>

請注意看上面的ob_implicit_flush(true),這個函數強制每當有輸出的時候,即刻把輸出發送到瀏覽器。這樣就不需要每次輸出(echo)后,都用flush()來發送到瀏覽器了。

以上所訴可能在某些瀏覽器中不成立。因為瀏覽器也有自己的規則。我是用Firefox1.5,IE6,opera8.5來測試的。其中opera就不能正常輸出,因為它有一個規則,就是不遇到一個HTML標簽,就絕對不輸出,除非到腳本結束。而FireFox和IE還算比較正常的。

最后附上一段非常有趣的代碼,作者為PuTTYshell。在一個腳本周期里,每次輸出,都會把前一次的輸出覆蓋掉。
以下代碼只在firefox下可用,其他瀏覽器并不支持multipart/x-mixed-replace的Content-Type.

<?php header('Content-type: multipart/x-mixed-replace;boundary=endofsection'); print "/n--endofsection/n"; $pmt = array("-", "//", "|", "/" ); for( $i = 0; $i <10; $i ++ ){   sleep(1);   print "Content-type: text/plain/n/n";   print "Part $i/t".$pmt[$i % 4];   print "--endofsection/n";   ob_flush();   flush(); } print "Content-type: text/plain/n/n"; print "The end/n"; print "--endofsection--/n";?>
 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲一区二区三区| 亚洲精美色品网站| 色婷婷**av毛片一区| 91精品国产高清久久久久久久久| 欧美一区深夜视频| 欧美极品少妇xxxxⅹ喷水| 亚洲免费人成在线视频观看| 综合网日日天干夜夜久久| 日韩av理论片| 自拍偷拍亚洲区| 日本午夜精品理论片a级appf发布| 国产精品色午夜在线观看| 国产在线999| 久久久久久久久久久网站| 久久亚洲春色中文字幕| 久久精品国产亚洲7777| 一区二区欧美亚洲| 久久久国产成人精品| 4388成人网| 欧美激情视频给我| 另类视频在线观看| 狠狠爱在线视频一区| 日本国产精品视频| 久久精品国产精品亚洲| 亚洲色图35p| 亚洲影院色在线观看免费| 久久久久久久久爱| 日韩精品福利在线| 国产成人精品免高潮费视频| 美女精品视频一区| 亚洲色图校园春色| 亚洲成人精品在线| 欧美亚洲国产日韩2020| 国产在线日韩在线| 26uuu日韩精品一区二区| 亚洲已满18点击进入在线看片| 色综合天天狠天天透天天伊人| 国产99久久久欧美黑人| 国产91|九色| 91久久国产精品91久久性色| 久久亚洲一区二区三区四区五区高| 亚洲自拍偷拍在线| 8x拔播拔播x8国产精品| 欧美最猛性xxxx| 欧美精品在线免费播放| 日韩成人性视频| 国产精品美女免费| 欧美激情一区二区三区高清视频| 亚洲精品日韩在线| 狠狠躁夜夜躁人人躁婷婷91| 精品国产精品三级精品av网址| 久久国产精品影片| 精品久久久久久亚洲国产300| 欧美精品电影免费在线观看| 成人羞羞国产免费| 国产精品美乳一区二区免费| 日韩中文在线视频| 一本色道久久88综合亚洲精品ⅰ| 日韩欧美在线观看| 国产91精品视频在线观看| 亚洲男人天堂2019| 亚洲精品福利免费在线观看| 久久久精品中文字幕| 中文字幕亚洲专区| 日韩免费av在线| 中文字幕精品视频| 日韩在线一区二区三区免费视频| 亚洲qvod图片区电影| 欧美激情乱人伦| 久久久噜噜噜久久| 日韩一区av在线| 亚洲精品国产精品久久清纯直播| 91精品国产综合久久男男| 97精品国产aⅴ7777| 亚洲女人天堂av| 91亚洲精品久久久| 欧美成人sm免费视频| 国产精品福利无圣光在线一区| 国产欧美日韩免费看aⅴ视频| 尤物yw午夜国产精品视频| 欧美视频中文字幕在线| 亚洲欧美日韩一区在线| 国产精品免费电影| 亚洲最大av网| 欧美日韩精品国产| 欧美激情亚洲国产| 国产精品揄拍500视频| 国产丝袜精品视频| 亚洲人成在线播放| 福利一区福利二区微拍刺激| 日本久久精品视频| 国产一区二区三区直播精品电影| 国产69精品久久久久9| 色噜噜久久综合伊人一本| 国产一区二区在线播放| 视频在线观看99| 成人激情视频在线| 成人精品久久一区二区三区| 91国产视频在线播放| 亚洲精品www久久久| 4p变态网欧美系列| 亚洲国产成人精品电影| 久久久久久69| 欧美国产在线视频| 久久成人综合视频| 亚洲美女喷白浆| 国产亚洲欧洲高清一区| 91久久国产婷婷一区二区| 最好看的2019的中文字幕视频| 国产女精品视频网站免费| 亚洲一区二区免费在线| 久久综合亚洲社区| 国产精品第一视频| 全球成人中文在线| 亚洲欧美激情一区| 97在线观看视频| 91精品国产自产91精品| 日本一欧美一欧美一亚洲视频| 中文字幕精品影院| 欧美亚洲视频在线观看| 国产精品男人爽免费视频1| 色综合五月天导航| 久久久久久久国产| 91丨九色丨国产在线| 国产精品嫩草视频| 亚洲精品视频免费在线观看| 精品国产一区二区三区久久狼黑人| 日韩精品在线观看一区| 亚洲第一偷拍网| 2019国产精品自在线拍国产不卡| 亚洲美女av黄| 亚洲成人久久一区| 久久夜色精品国产| 亚洲日本成人网| 久久精品国产99国产精品澳门| 国产97在线亚洲| 视频在线一区二区| 亚洲综合av影视| 97精品视频在线播放| 欧美限制级电影在线观看| 亚洲久久久久久久久久久| 7777免费精品视频| 欧美国产一区二区三区| 日韩网站在线观看| 欧美日韩亚洲天堂| 日韩欧美在线视频日韩欧美在线视频| 久久青草精品视频免费观看| 国产一区二区丝袜| 久久不射电影网| 亚洲欧美日韩国产中文| 国产亚洲欧美日韩一区二区| 日本午夜精品理论片a级appf发布| 国产精品久久久久久久久久免费| 91影院在线免费观看视频| 欧美性猛交xxx| 免费91麻豆精品国产自产在线观看| 久久久电影免费观看完整版| 亚洲精品免费在线视频| 亚洲高清av在线| 色www亚洲国产张柏芝| 精品中文字幕在线观看| 91av在线播放| 热久久视久久精品18亚洲精品| 久久精品国产精品亚洲|