php中的buffer缓冲区用法分析

yipeiwu_com6年前PHP代码库

本文实例讲述了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面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php cout&amp;lt;&amp;lt;的一点看法

即整数与小数的位数之和不应该超过6位,如果小数部分过长,那么系统将按四舍五入法来近似成6位,如果整数部分过长,那么也近似成为6位例如: cout<<123.4567 结果是1...

php生成动态验证码gif图片

php生成动态验证码gif图片

这是一个通过php生成的动态验证码图片的示例,重点是可以运行哦!下面先发下效果图: 下面是php生成动态验证码需要用到的相关类和函数。 <?php /** *...

一个PHP二维数组排序的函数分享

二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:...

php修改文件上传限制方法汇总

PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数。下面,我们简要介绍一下PHP文件上传涉及到的一些参数: file_uploads :是否...

PHP统计目录大小的自定义函数分享

计算文件、磁盘分区和目录的大小在各种应用程序中都是常见的任务。计算文件的大小可以通过前面介绍过的filesize()函数完成,统计磁盘大小也可以使用disk_free_space()和d...