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 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
PHP脚本的10个技巧(3)
Oct 09 PHP
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
精美漂亮的php分页类代码
Apr 02 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
Mar 07 PHP
Linux php 中文乱码的快速解决方法
May 13 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
对laravel的session获取与存取方法详解
Oct 08 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 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代码优化及php相关问题总结
2006/10/09 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP实现的json类实例
2015/07/28 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Python根据区号生成手机号码的方法
2015/07/08 Python
python随机数分布random均匀分布实例
2019/11/27 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
技术岗位竞聘演讲稿
2014/05/16 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
酒会开场白大全
2015/06/01 职场文书
培训班开班主持词
2015/07/02 职场文书
感恩教育主题班会
2015/08/12 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python