如何正确的在php中使用buffer缓冲区?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
buffer其实就是缓冲区,一个内存地址空间,主要用于存储数据
<?php echo 1;
我们都运行程序浏览器访问,会显示1。
但是其实这中间会经历一个buffer,我们可以这样理解:这个1数据会先到php缓存区,当这个缓冲区满了之后,再传给客户端(浏览器)。
这个过程大致流程如下:
内容 -> php buffer -> tcp -> 终端(浏览器)
php.ini
output_buffering = on #打开output缓冲,默认打开的。
output_buffering打开与关闭的区别:
1.打开了php输出缓存: echo,print -> php output_buffring -> server buffering -> browser buffering -> browser display
2.未打开php输出缓存: echo,print -> server buffering -> browser buffering -> browser display
我们在代码里获取缓存区内容:
<?php echo 1; echo "<hr/>"; // 获取php缓存区的内容 $buffer = ob_get_contents(); echo $buffer;
如果在php配置文件php.ini中output_buffering = on
是开启的,那么上面代码在浏览器上会显示2个1和2条横线,查看网页源代码如下:
1<hr/>1<hr/>
如果php.ini中是关闭的,那么只会显示一次。
当然我们也可以在代码中,临时开启php缓冲区
<?php ob_start(); // 开始php缓存,写在最前面 echo 1; echo "<hr/>"; // 获取php缓存区的内容 $buffer = ob_get_contents(); echo $buffer;
关于如何正确的在php中使用buffer缓冲区问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。