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 类型转换函数intval
Jun 20 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
php购物车实现方法
Jan 03 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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建立文件夹代码
2015/01/06 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
Python爬虫代理IP池实现方法
2017/01/05 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
详解python播放音频的三种方法
2019/09/23 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
三维科技面试题
2013/07/27 面试题
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
安全生产工作汇报
2014/10/28 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
为自己工作观后感
2015/06/11 职场文书
vue使用element-ui按需引入
2022/05/20 Vue.js