当前位置: 首页 > 编程笔记 >

php中ob_get_length缓冲与获取缓冲长度实例

周马鲁
2023-03-14
本文向大家介绍php中ob_get_length缓冲与获取缓冲长度实例,包括了php中ob_get_length缓冲与获取缓冲长度实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了php中ob_get_length缓冲与获取缓冲长度的方法。分享给大家供大家参考。具体方法如下:

file_get_contents() 函数把整个文件读入一个字符串中,和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串.

file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法,如果操作系统支持,还会使用内存映射技术来增强性能.

语法:file_get_contents(path,include_path,context,start,max_length)

ob_start();          //打开缓冲区 

echo "hello";         //输出内容 

$out1= ob_get_contents();      //获得缓冲区内容 

echo "world";         //输出内容 

$out2=ob_get_contents();       //再次获得缓冲区内容 

ob_end_clean();        //清空缓冲区,并关闭 

echo $out1;         //输出第一次获得的结果 

echo "<br>"; 

echo $out2;         //输出第二次获得的结果,以比较

该代码在输出缓冲设置为开启时使用(output_buffering=on)

列出输出头部信息:print_r(ob_list_handlers());

刷新缓冲区数据,返回数据并且关闭缓冲区:$buffer=ob_get_flush();

把缓冲区数据写入文件:file_put_contents('buffer.txt',$buffer);

列出输出头部信息:print_r(ob_list_handlers());

获取缓冲区长度,实例代码如下:

//打开缓冲区 

ob_start(); 

//输出内容 

echo "hello "; 

//获取缓冲区长度 

$len1=ob_get_length(); 

//再输出内容 

echo "world"; 

//再次获取缓冲区的长度 

$len2=ob_get_length(); 

//清空缓冲区,并关闭缓冲 

ob_end_clean(); 

//输出第一次获取的长度 

echo $len1; 

echo "<br>"; 

//输出第二次获取的长度以比较两次不同的结果 

echo $len2;

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

 类似资料:
  • 问题内容: 什么之间的区别,并和我为什么一定要同时调用? 该参考说: 此函数将发送输出缓冲区的内容(如果有)。 该参考说: 刷新PHP的写缓冲区以及PHP使用的任何后端PHP(CGI,Web服务器等)。 但是,它继续说: [它]可能无法覆盖Web服务器的缓冲方案… 因此,在我看来,我可以一直使用所有时间。但是,这样做会得到奇怪的结果。有人可以简单地解释一下这是怎么回事吗? 问题答案: 发送应用程序

  • 出于性能的考虑,servlet 容器允许(但不要求)缓存输出到客户端的内容。一般的,服务器是默认执行缓存,但应该允许 servlet 来指定缓存参数。 下面是 ServletResponse 接口允许 servlet 来访问和设置缓存信息的方法: getBufferSize setBufferSize isCommitted reset resetBuffer flushBuffer 不管 ser

  • 在DirectX中,您可以有单独的渲染目标和深度缓冲区,因此可以绑定渲染目标和一个深度缓冲区、执行一些渲染、移除深度缓冲区然后使用旧的深度缓冲区作为纹理进行更多渲染。 你会如何在opengl中做到这一点?根据我的理解,您有一个帧缓冲区对象,其中包含颜色缓冲区和可选的深度缓冲区。我不认为我可以同时绑定多个帧缓冲器对象,我是否必须在每次更改时(可能一帧几次)重新创建帧缓冲器对象?普通的 opengl

  • 问题内容: 是缓冲还是无缓冲? 我读到这是的对象,并且是所引用的对象的类型。 而且它们都是Unbuffered的,所以为什么要刷新unbuffered …是否可以刷新unbuffered,我已经读过它们被立即写入。 问题答案: 是“标准”输出。在大多数操作系统上,终端io被缓冲,并且支持分页。 在Javadoc中, “标准”输出流。该流已经打开并且准备接受输出数据。通常,此流对应于主机环境或用户指

  • 使用RxJava,我需要将一个项目流缓冲到3个组中,但如果传入项目之间的间隔超过500ms,则刷新缓冲区。 bufferWithTimeOrCount()操作符正是我想要的,但它似乎只针对RxJS和Rx实现。NET,我需要使用RxJava来实现这一点。 是否有方法复制bufferWithTimeOrCount()的行为,并获得我对现有RxJava 1的期望。x运算符? 尝试每隔500毫秒发出一个新

  • 稳定性: 2 - 稳定的 在 ECMAScript 2015 (ES6) 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制。 Buffer 类被引入作为 Node.js API 的一部分,使其可以在 TCP 流或文件系统操作等场景中处理二进制数据流。 TypedArray 现已被添加进 ES6 中,Buffer 类以一种更优化、更适合 Node.js 用