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 相关文章推荐
让PHP支持页面回退的两种方法
Jan 10 PHP
基于pear auth实现登录验证
Feb 26 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Jan 27 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
Discuz!X中SESSION机制实例详解
Sep 23 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
phpinfo的知识点总结
Oct 10 PHP
Laravel框架处理用户的请求操作详解
Dec 20 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!数据库
2008/05/03 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
js实现聊天对话框
2020/02/08 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Python zip()函数用法实例分析
2018/03/17 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
wxPython实现列表增删改查功能
2019/11/19 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
Python如何定义有默认参数的函数
2020/08/10 Python
毕业生自荐信的主要内容
2013/10/29 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang