首页 > 作文

PHP嵌套输出缓冲代码实例

更新时间:2023-04-06 18:37:12 阅读: 评论:0

php的输出缓存是可以嵌套的。用ob_get_level()就可以输出嵌套级别。
测试发现在cli和浏览器下输出结果不一样(php5.4)。

手册说明如下:

ob_get_level() will always return 0 inside a destructor.
this happens becau the garbage collection for output buffers has already done before the destructor is called

想要正确输出也很简单:

复制代码 代码如下:

ob_end_clean();

echo ob_get_level(); //0

回到正题:

复制代码男女对唱的歌 代码如下:

ob_end_clean();



ob_start();

echo ‘php1’;//此处并不会在页面中输出

$a = ob_get_level();

$b = ob_get_contents();//获得缓存结果,赋予变量

ob_clean();



ob_start();

echo ‘php2’;//此处并不会在页面中输出

$c = ob_get_level();

$d = ob_get_contents();//获得缓存结果,赋予变量

ob_clean();



ob_start();

echo ‘php3’;//此处并不会在页面中输出

$e =明天 ob_get_level();

$f = ob_get_contents();//获得缓存结果,赋予变量

ob_clean();



echo ‘level:’.$a.’,ouput:’.$b.'<br>’;

echo ‘level:’.$c.’,ouput:’.$d.'<br>’;

echo ‘level:’.$e.’,ouput:’.$f.'<br>’;

结果如下:

复制代码 代码如下:

level:1,ouput:php1

level:2,ouput:php2

level:3,ouput:php3

当然,当你关闭某个级别的缓冲,如下测试:

复制代码 代码如下:

ob_end_clean();



ob_start();

echo ‘php1’;

$a = ob_get祝你幸福平安_level();

$b = ob_get_contents();

ob_clean();



ob_start();

echo ‘php2’;

$c = ob_get_level();

$d = ob_get_contents();

ob_end_clean(); //清空缓存并关闭缓存



ob_start();

echo ‘php3’;

$e = ob_get_level();

$f = ob_get_contents();

ob_clean();



echo ‘level:’.$a.’,ouput:’现实主义小说;.$b.'<br>’;

echo ‘level:’.$c.’,ouput:’.$d.'<br>’;
0是整数
echo ‘level:’.$e.’,ouput:’.$f.'<br>’;

结果如下:

复制代码 代码如下:

level:1,ouput:php1

level:2,ouput:php2

level:2,ouput:php3

本文发布于:2023-04-06 18:37:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b46dd17a42f0596fa7baf265f4423002.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP嵌套输出缓冲代码实例.doc

本文 PDF 下载地址:PHP嵌套输出缓冲代码实例.pdf

标签:代码   缓存   会在   变量
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图