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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 PHP
php实现统计邮件大小的方法
Aug 06 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
phpnow php探针环境检测代码
Nov 04 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
Jan 17 PHP
PHP Primary script unknown 解决方法总结
Aug 22 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下读取文本文件的代码
2008/07/02 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
微信小程序实现星级评分和展示
2018/07/05 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
银行职员个人的工作自我评价
2014/02/15 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
孩子教育的心得体会
2014/09/01 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
营业员岗位职责
2015/02/11 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
开业典礼致辞
2015/07/29 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python