ob_start()求教解决思路
程序员文章站
2022-05-04 20:30:53
...
ob_start()求教
ob_start(); //-----------------------------1
//for($s=0;$s
//ob_end_clean(); //----------------------------------2
for($var=0;$var echo $var;
print str_repeat("", 4096);
ob_flush();//--------------------------3
flush(); //--------------------------4
sleep(1); //--------------------------5
}
?>
一个测试缓冲区的例子,问题来了,当使用ob_start()函数时候,【3】的作用是释放缓冲区的内容,【4】将不再缓冲区的内容发送到页面,【5】使得每秒发送一次,但是为什么还会等10秒后一次将内容全发送过去.
查了很多文章,很多都说使用【2】处的方法,注释掉【1】【3】,但是这样就关闭了缓冲区,
网上关于Php的说法有称内部缓冲区的,也有叫缓冲区的,不知道是不是一个东西。
还有Php.ini文件中的 output_buffering他的缓冲区是不是就是ob_start()开启的缓冲区?
------解决方案--------------------
ob_flush不是很好用,请参考官方文档。
http://il.php.net/manual/en/function.ob-flush.php
some problems with ob_flush() and flush() could be resolved by defining content type header :
header( 'Content-type: text/html; charset=utf-8' );
so working code looks like this:
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...
';
for( $i = 0 ; $i {
echo $i . '
';
flush();
ob_flush();
sleep(1);
}
echo 'End ...
';
?>
ob_start(); //-----------------------------1
//for($s=0;$s
//ob_end_clean(); //----------------------------------2
for($var=0;$var echo $var;
print str_repeat("", 4096);
ob_flush();//--------------------------3
flush(); //--------------------------4
sleep(1); //--------------------------5
}
?>
一个测试缓冲区的例子,问题来了,当使用ob_start()函数时候,【3】的作用是释放缓冲区的内容,【4】将不再缓冲区的内容发送到页面,【5】使得每秒发送一次,但是为什么还会等10秒后一次将内容全发送过去.
查了很多文章,很多都说使用【2】处的方法,注释掉【1】【3】,但是这样就关闭了缓冲区,
网上关于Php的说法有称内部缓冲区的,也有叫缓冲区的,不知道是不是一个东西。
还有Php.ini文件中的 output_buffering他的缓冲区是不是就是ob_start()开启的缓冲区?
------解决方案--------------------
ob_flush不是很好用,请参考官方文档。
http://il.php.net/manual/en/function.ob-flush.php
some problems with ob_flush() and flush() could be resolved by defining content type header :
header( 'Content-type: text/html; charset=utf-8' );
so working code looks like this:
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...
';
for( $i = 0 ; $i {
echo $i . '
';
flush();
ob_flush();
sleep(1);
}
echo 'End ...
';
?>
相关文章
相关视频
推荐阅读
-
nf_conntrack: table full, dropping packet问题的解决思路
-
PHP中的session永不过期的解决思路及实现方法分享
-
大数据小视角5:探究SSD写放大的成因与解决思路
-
Tomcat无法加载css和js等静态资源文件的解决思路
-
Table 组件构建过程中遇到的问题与解决思路
-
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
-
Orace查询数据出现乱码的问题解决思路
-
浅析JSONP解决Ajax跨域访问问题的思路详解
-
关于web资金系统提现安全保护,防止极快的重复并发请求导致重复提现的解决思路
-
详解MongoDB数据还原及同步解决思路