php中的buffer缓冲区用法分析


Posted in PHP onMay 31, 2019

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 PHP
php实现二叉树中和为某一值的路径方法
Oct 14 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
Mac下快速搭建PHP开发环境步骤详解
May 05 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 PHP
PHP实现基于状态的责任链审批模式详解
May 31 #PHP
Laravel框架实现调用百度翻译API功能示例
May 30 #PHP
Laravel框架学习笔记之批量更新数据功能
May 30 #PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 #PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 #PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 #PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 #PHP
You might like
php minixml详解
2008/07/19 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
JavaScript的目的分析
2007/01/05 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
汇科协同Java笔试题
2012/03/31 面试题
体育教育毕业生自荐信
2013/11/21 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
作文批改评语大全
2014/04/23 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
2014年副班长工作总结
2014/12/10 职场文书
导游词开场白
2015/01/31 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书