php之ob_start()缓冲区
ob_get_contents()函数及与其相关几个函数的用法
ob_start()
ob_get_contents(); 获取缓冲区内容,如果是纯 html内容或标签,则都会放于浏览器的缓冲区中。
如果将ob_get_contents()获取到的缓冲区的内容赋给一个文件,则缓冲区里的内容会覆盖文件里之前的内容
ob_end_clean():删除内部缓冲区的内容,并且关闭内部缓冲区[删除运行ob_end_clean()此函数 之前的所有echo print_r输出到缓冲区的内容;删除ob_end_clean()此函数 之前的html内容或标签;定义的变量依然存在]
ob_end_flush() 发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区
ob_get_length() 返回内部缓冲区的长度。
Flush():刷新缓冲区的内容,输出。
ob_end_clean();
使用ob_start()把echo或print等输出的内容输至缓冲区,而不是到浏览器。
然后用ob_get_contents得到缓冲区的数据。
ob_start()在服务器打开一个缓冲区来保存所有的输出。所以在任何时候使用任意个echo 等输出,输出都将被加入缓冲区中,直到程序运行结束或者使用ob_flush()来结束。然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。
函数ob_end_clean() 会清除缓冲区的内容.(并将缓冲区关闭,但不会输出内容。)
此时在使用ob_end_clean()之前使用函数ob_get_contents()来获得缓冲区的内容。
这样的话, 能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作。
<?php
ob_start();
echo 'aaaa<br />'; //保存至缓存区
$c = 'ccc';
echo $c; //保存至缓存区
$d = ob_get_contents();
//程序结束输出以上echo在缓存中的内容
?>
<?php
ob_start();
$a = 'aaaa<br />';
$b = ob_get_contents();
echo $b;
//程序结束没有任何输出,因为虽然开启了缓冲,但是缓冲区里没有被输出内容
?>
php之ob_start()缓冲区的更多相关文章
- php缓冲区详解
什么是缓冲区(buffer)? 简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料. 其实缓冲区最 ...
- PHP的输出缓冲区(转)
什么是缓冲区?简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料.其实缓冲区最本质的作用就是,协调 ...
- ob_start()
ob_start()函数用于打开缓冲区 1.用于header()之前 ob_start(); //打开缓冲区 echo "Hellon"; //输出 header("lo ...
- PHP的ob_start()函数用法
经典参考片段: <?php ob_start(); echo '123'; echo '456'; echo '789'; $content = ob_get_contents(); ob_en ...
- 【转】PHP ob_start() 函数介绍
php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数. ob_start([string output_callback])- 打开输出缓冲区,所有的输出信息不在直接 ...
- php ob_start()、ob_end_flush和ob_end_clean()多级缓冲
ob_start() 和 ob_end_flush() 是一对很好的搭档,可以实现对输出的控制.当成一对出现理解起来就没什么问题,但是当他们两个各自出现次数增加时,就比较难理解了. <?php ...
- php函数ob_start()、ob_end_clean()、ob_get_contents()
下面3个函数的用法 ob_get_contents() - 返回输出缓冲区的内容 ob_flush() - 冲刷出(送出)输出缓冲区中的内容 ob_clean() - 清空(擦掉)输出缓冲区 ob_e ...
- PHP中的ob_start用法详解
用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出 ...
- 关于header('location:url')的一些说明,php缓冲区
网上搜索header('location:url')的用法,得到如下三个结论: 1. location和“:”号间不能有空格,否则会出错. 2. 在用header前不能有任何的输出. 3. heade ...
随机推荐
- alert(1) to win 12
- Tenka1 Programmer Contest C - Align
链接 Tenka1 Programmer Contest C - Align 给定一个序列,要求重新排列最大化\(\sum_{i=2}^{i=n} |a_i-a_{i-1}|\),\(n\leq 10 ...
- flask之模板之继承
一:继承 基类模板base.html 中在进行挖坑 {% block 坑的名字%}{% endblock %} 子类模板test.html 中 通过 {% extends "base.ht ...
- Julia 语言
同时安装多个库 Pkg.add.(["IJulia", "Combinatorics", "Plots", "TaylorSeri ...
- What are the differences between an LES-SGS model and a RANS based turbulence model?
The biggest difference between LES and RANS is that, contrary to LES, RANS assumes that \(\overline{ ...
- Java IO方式
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11444349.html BIO 传统的java.io包,它基于流模型实现,提供了我们最熟知的一些IO功 ...
- DOSUtil
package Testlink; import java.io.BufferedReader; import java.io.File; import java.io.IOException; im ...
- Promise和async/await
1.promise对象 promise 对象有三种状态:pending(进行中).fulfilled(已成功)和 rejected(已失败).promise 对象的状态改变,只有两种可能:从 pend ...
- 选项卡jq
1.无定时器 $(function(){$('.banner-point li').on('click',function(){$(this).addClass('active').siblings( ...
- windows下使用Ant编译Android项目
1. 安装ant,配置环境变量 2. 执行命令: android update project -p 项目路径 例:android update project -p D:\project\UI_de ...