亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

緩沖輸出 

<?php 
for ($i=10; $i>0; $i--) 

 echo $i; 
 flush(); 
 sleep(1); 

?>按照php手冊里的說法 

該函數(shù)將當(dāng)前為止程序的所有輸出發(fā)送到用戶的瀏覽器。 

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

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

<?php 
ob_end_clean();//修改部分 
for ($i=10; $i>0; $i--) 

 echo $i; 
 flush(); 
 sleep(1); 

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

我再來改一改。 

<?php 
for ($i=10; $i>0; $i--) 

 echo $i; 
 ob_flush();//修改部分 
 flush(); 
 sleep(1); 

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

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

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

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

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

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

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

<?php 
for ($i=10; $i>0; $i--) 

 echo $i; 
 ob_flush(); 
 sleep(1); 

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

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

<?php 
ob_implicit_flush(true); 
for ($i=10; $i>0; $i--) 

 echo $i; 
 ob_flush(); 
 sleep(1); 

?><?php 
ob_end_clean(); 
ob_implicit_flush(true); 
for ($i=10; $i>0; $i--) [Page]

 echo $i; 
 sleep(1); 

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

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項目群及時溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質(zhì)開發(fā)
  • 返回頂部
主站蜘蛛池模板: 性色网址| 日本欧美成人免费观看 | 国产毛片儿 | 男女国产视频 | 日本婷婷 | 国产伦一区二区三区高清 | 国产一二三区在线观看 | 精品国偷自产在线视频99 | 伊人久久大香线蕉综合7 | 丁香六月婷婷 | 亚洲欧美日韩不卡 | 国产成人激情视频 | 成人区精品一区二区不卡亚洲 | 免费一级毛片在线播放放视频 | 香蕉视频黄网站 | 日本欧美国产精品 | 第一福利在线导航 | 狠狠久久综合伊人不卡 | 黄色一级视频欧美 | 亚洲一区二区欧美日韩 | 波多野结衣亚洲一区二区三区 | 亚洲精品视频在线免费 | 国产成人18黄网站免费 | 日本一区二区三区四区视频 | 午夜国产在线视频 | 久久免视频 | 成在线人免费视频一区二区三区 | 欧美日韩不卡中文字幕在线 | 久草香蕉视频 | 中国国产一级毛片视频 | 碰碰碰人人澡人人爱摸 | 色九九视频 | 婷婷伊人久久 | 黄色三级视频在线 | 国产黄色在线网站 | 顶级毛片在线手机免费看 | 19国产精品麻豆免费观看 | 在线播放黄色 | 日韩欧美色视频在线观看 | 亚洲第一免费播放区 | 激情网站网址 |