php ob_flush无效,php ob_flush,flush在ie中缓冲无效的解决方法
PHP程序的緩沖,而不論P(yáng)HP執(zhí)行在何種情況下(CGI ,web服務(wù)器等等)。該函數(shù)將當(dāng)前為止程序的所有輸出發(fā)送到用戶的瀏覽器。
flush() 函數(shù)不會(huì)對(duì)服務(wù)器或客戶端瀏覽器的緩存模式產(chǎn)生影響。因此,必須同時(shí)使用 ob_flush() 和flush() 函數(shù)來(lái)刷新輸出緩沖。
個(gè)別web服務(wù)器程序,特別是Win32下的web服務(wù)器程序,在發(fā)送結(jié)果到瀏覽器之前,仍然會(huì)緩存腳本的輸出,直到程序結(jié)束為止
*/
for ($i=10; $i>0; $i--)
{
echo $i;
ob_flush();
flush();
sleep(1);
}
// Microsoft Internet Explorer 只有當(dāng)接受到的256個(gè)字節(jié)以后才開始顯示該頁(yè)面,所以必須發(fā)送一些額外的空格來(lái)讓這些瀏覽器顯示頁(yè)面內(nèi)容
//正常用法
ob_start();
ob_end_flush();
for($i = 1; $i <= 300; $i )echo ' www.jquerycn.cn';
$i = 0;
while(1) {
echo $i;
sleep(1);
$i ;
}
for($i=0;$i<10;$i ) {
echo $i;
flush();
sleep(1);
}
//這段代碼,應(yīng)該隔一秒鐘輸出一次$i,但是實(shí)際中卻不一定是這樣,IE瀏覽器下有可能是等了10秒鐘后,所有的輸出同時(shí)呈現(xiàn)出來(lái)
//ob_end_flush();//IE8下沒起作用
echo str_pad(" ", 256);//IE需要接受到256個(gè)字節(jié)之后才開始顯示
for($i=0;$i<18;$i ) {
echo $i;
flush();
sleep(1);
}
總結(jié)
以上是生活随笔為你收集整理的php ob_flush无效,php ob_flush,flush在ie中缓冲无效的解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php普通索引和唯一索引,mysql下普
- 下一篇: 在PHP中给表格加上css样式,表格CS