php ob_flush,flush在ie中緩沖無(wú)效的解決方法
flush() 函數(shù)不會(huì)對(duì)服務(wù)器或客戶端瀏覽器的緩存模式產(chǎn)生影響。因此,必須同時(shí)使用 ob_flush() 和flush() 函數(shù)來(lái)刷新輸出緩沖。
個(gè)別web服務(wù)器程序,特別是Win32下的web服務(wù)器程序,在發(fā)送結(jié)果到瀏覽器之前,仍然會(huì)緩存腳本的輸出,直到程序結(jié)束為止
自己寫了個(gè)小例子,想在頁(yè)面每隔一秒輸出一個(gè)數(shù)字。
按照網(wǎng)上的代碼:
ob_end_clean();
for ($i=10; $i>0; $i--)
{
echo $i;
flush();
sleep(1);
}
或者:
for ($i=10; $i>0; $i--)
{
echo $i;
ob_flush();
flush();
sleep(1);
}
我發(fā)現(xiàn)在火狐里面生效,但在IE里不起作用,每次都是10個(gè)數(shù)字一起輸出,這說明緩沖沒有生效。
我又開始調(diào)整php.ini里面的output_buffering的設(shè)置,重啟apache,依舊無(wú)效。
然后我看到了一段話:
一些版本的 Microsoft Internet Explorer 只有當(dāng)接受到的256個(gè)字節(jié)以后才開始顯示該頁(yè)面,所以必須發(fā)送一些額外的空格來(lái)讓這些瀏覽器顯示頁(yè)面內(nèi)容。
罪惡的IE瀏覽器,問題就是TMD的多!
然后我修改了下程序,便正常了:
echo str_pad('',4096);
for ($i = 0; $i < 10; $i++) {
echo $i;
ob_flush();
flush();
sleep(1);
}
//ob_end_flush();//IE8下沒起作用
echo str_pad(" ", 256);//IE需要接受到256個(gè)字節(jié)之后才開始顯示
for($i=0;$i<18;$i++) {
echo $i;
flush();
sleep(1);
}
- php使用ob_start()實(shí)現(xiàn)圖片存入變量的方法
- PHP使用ob_start生成html頁(yè)面的方法
- php緩沖 output_buffering和ob_start使用介紹
- 用php的ob_start來(lái)生成靜態(tài)頁(yè)面的方法分析
- 用PHP ob_start()控制瀏覽器cache、生成html實(shí)現(xiàn)代碼
- php讀取遠(yuǎn)程gzip壓縮網(wǎng)頁(yè)的方法
- 使用php判斷網(wǎng)頁(yè)是否gzip壓縮
- PHP壓縮html網(wǎng)頁(yè)代碼(清除空格,換行符,制表符,注釋標(biāo)記)
- php中ob函數(shù)緩沖機(jī)制深入理解
- php中ob_get_length緩沖與獲取緩沖長(zhǎng)度實(shí)例
- php中ob(Output Buffer 輸出緩沖)函數(shù)使用方法
- php基于ob_start(ob_gzhandler)實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法
相關(guān)文章
如何解決CI框架的Disallowed Key Characters錯(cuò)誤提示
本篇文章是對(duì)解決CodeIgniter框架應(yīng)用中,出現(xiàn)Disallowed Key Characters錯(cuò)誤提示的方法,進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07
解決php使用異步調(diào)用獲取數(shù)據(jù)時(shí)出現(xiàn)(錯(cuò)誤c00ce56e導(dǎo)致此項(xiàng)操作無(wú)法完成)
本篇文章是對(duì)php中使用異步調(diào)用獲取數(shù)據(jù)時(shí)出現(xiàn)(由于出現(xiàn)錯(cuò)誤c00ce56e而導(dǎo)致此項(xiàng)操作無(wú)法完成)的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
PHP基于curl post實(shí)現(xiàn)發(fā)送url及相關(guān)中文亂碼問題解決方法
這篇文章主要介紹了PHP基于curl post實(shí)現(xiàn)發(fā)送url及相關(guān)中文亂碼問題解決方法,結(jié)合具體實(shí)例形式分析了php使用curl實(shí)現(xiàn)post數(shù)據(jù)發(fā)送及content-type相關(guān)設(shè)置操作技巧,需要的朋友可以參考下2017-11-11
CakePHP去除默認(rèn)顯示的標(biāo)題及圖標(biāo)的方法
使用cakephp框架時(shí),在生成的html頁(yè)面里,總是有cakephp的標(biāo)志(上面有大大的標(biāo)題CakePHP Rapid Development,下面還有一個(gè)cakephp的圖標(biāo)),雖然是cakephp的東西,但放到自己的項(xiàng)目中看起來(lái)總是不順眼。2008-10-10
php 計(jì)劃任務(wù) 檢測(cè)用戶連接狀態(tài)
php 計(jì)劃任務(wù) 檢測(cè)用戶連接狀態(tài)實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-03-03
同一空間綁定多個(gè)域名而實(shí)現(xiàn)訪問不同頁(yè)面的PHP代碼
同一空間綁定多個(gè)域名而實(shí)現(xiàn)訪問不同頁(yè)面的PHP代碼...2006-12-12
PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法
這篇文章主要介紹了PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法,涉及php對(duì)日期操作的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
PHP中copy on write寫時(shí)復(fù)制機(jī)制介紹
這篇文章主要介紹了PHP中copy on write寫時(shí)復(fù)制機(jī)制介紹,需要的朋友可以參考下2014-05-05
淺析PHP原理之變量分離/引用(Variables Separation)
以下小編就為大家介紹一下PHP中變量分離和引用的概念。需要的朋友可以過來(lái)參考下2013-08-08

