• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

flush()函数有时候好像不起作用

php 搞代码 3年前 (2022-01-24) 19次浏览 已收录 0个评论

flush()函数有时好像不起作用
下面这个程序是我在网上找的,他注释中说第一句非常关键,可我发觉第一句根本没起作用,没有输出300个空格。而且我把第一句删了运行结果完全相同,这是为什么啊
<?php
for($i = 1; $i <= 300; $i++ ) print(" ");
// 这一句话非常关键,cache的结构使得它的内容只有达到一定的大小才能从浏览器里输出
// 换言之,如果cache的内容不达到一定的大小,它本文来源gao.dai.ma.com搞@代*码#网搞代gaodaima码是不会在程序执行完毕前输出的。经
// 过测试,我发现这个大小的底限是256个字符长。这意味着cache以后接收的内容都会
// 源源不断的被发送出去。
For($j = 1; $j <= 20; $j++) {
echo $j.” “;
flush(); //这一部会使cache新增的内容被挤出去,显示到浏览器上
sleep(1); //让程序”睡”一秒钟,会让你把效果看得更清楚
}
?>

我自己写了个程序,我发现把ob_flush()改成flush()后,第一条就不输出了,我记得flush()是立即输出缓冲区的内容啊,为什么不输出呢。
ob_end_flush();好像和ASP中的response.end也不同哦,ob_end_flush();后,后面的内容仍然会输出啊,有什么办法让后面的内容停止输出不

<?
ob_start();
echo “第一条”;
ob_flush() ; //立刻输出缓冲区中的内容
echo “第二条”;
ob_get_clean() ; //清除缓冲区中的内容
echo “第三条” ;
ob_end_flush();
?>

发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址