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 相关文章推荐
Apache2 httpd.conf 中文版
Dec 06 PHP
PHP开发框架总结收藏
Apr 24 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
PHP异常处理浅析
May 12 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 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
discuz安全提问算法
2007/06/06 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
Python实现Const详解
2015/01/27 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
静态变量和实例变量的区别
2015/07/07 面试题
法学专业本科生自荐信范文
2013/12/17 职场文书
大学校庆邀请函
2014/01/11 职场文书
暑假家长评语大全
2014/04/17 职场文书
大学生求职信
2014/06/17 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
同意离婚答辩状
2015/05/22 职场文书
红白喜事主持词
2015/07/06 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
Mysql 如何批量插入数据
2021/04/06 MySQL
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
python unittest单元测试的步骤分析
2021/08/02 Python
sql server 累计求和实现代码
2022/02/28 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server