php输出控制函数和输出函数生成静态页面
Output Control 函数详解:
flush- 刷新输出缓冲ob_clean- 清空输出缓冲区ob_end_clean- 清空缓冲区并关闭输出缓冲ob_end_flush- 冲刷出输出缓冲区内容并关闭缓冲ob_flush- 冲刷出输出缓冲区中的内容ob_get_clean- 得到当前缓冲区的内容并删除当前输出缓存ob_get_contents- 返回输出缓冲区的内容ob_get_flush- 刷出缓冲区内容, 以字符串形式返回内容, 并关闭输出缓冲区ob_get_length- 返回输出缓冲区内容的长度ob_get_level- 返回输出缓冲机制的嵌套级别ob_get_status- 得到所有输出缓冲区的状态ob_gzhangdler- 在ob_start中使用的用来压缩输出缓冲区中内容的回调函数ob_implicit_flush- 打开/关闭绝对刷送ob_list_handlers- 列出所有使用中的输出处理程序ob_start- 打开输出控制缓冲output_add_rewrite_var- 添加URL重写器的值output_reset_rewrite_vars- 重设URL重写器的值
常用的输出控制函数说明:
ob_start
此函数将打开输出缓冲。当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。
内部缓冲区的内容可以用 ob_get_contents() 函数复制到一个字符串变量中.
想要输出存储在内部缓冲区中的内容, 可以使用 ob_end_flush() 函数。另外, 使用 ob_end_clean() 函数会静默丢弃掉缓冲区的内容。
输出缓冲区是可堆叠的,这即意谓着,当有一个 ob_start() 是活跃的时, 你可以调用另一个 ob_start() 。
只要确保正确调用了 ob_end_flush() 恰当的次数即可。 如果有多重输出回调函数是活跃的,输出内容会一直按嵌套的顺序依次通过它们而被过滤。
flush
刷新PHP程序的缓冲,该函数将当前为止程序的所有输出发送到用户的浏览器。
flush() 函数不会对服务器或客户端浏览器的缓存模式产生影响。
因此,必须同时使用 ob_flush() 和 flush() 函数来刷新输出缓冲。
ob_flush
冲刷出输出缓冲区中的内容
输出缓冲区中的内容,如果想进一步处理缓冲区中的内容,必须在ob_flush()之前调用ob_get_contents() ,
因为在调用ob_flush()之后缓冲区内容将被丢弃,而缓冲区不会被销毁。
ob_end_flush
输出缓冲区内容,并关闭输出缓冲区。
ob_get_flush
输出缓冲区内容(以字符串形式返回),并关闭输出缓冲区,与
ob_end_flush()不同的是本函数还会以字符串形式返回缓冲区内容。
ob_clean
清空输出缓冲区, 此函数用来丢弃输出缓冲区的内容
此函数不会像
ob_end_clean()函数那样销毁输出缓冲区。输出缓冲必须已被
ob_start()以PHP_OUTPUT_HANDLER_CLEANABLE标记启动。否则ob_clean()不会有效果。
ob_end_clean
清空输出缓冲区并关闭输出缓冲区; 此函数丢弃最顶层输出缓冲区的内容并关闭这个缓冲区
ob_get_clean
得到当前缓冲区的内容并删除当前输出缓存
返回输出缓冲区的内容,并结束输出缓冲区。如果输出缓冲区不是活跃的,即返回
FALSE。
ob_get_conents
获取缓冲区的内容
ob_get_length
获取缓冲区内容的长度
ob_get_level
获取缓冲机制的嵌套级别
ob_get_status
得到所有输出缓冲区的状态
输出函数生成静态页面示例demo:
<?php
//打开输出控制缓存
ob_start();
echo "<html><head><title>test页面</title></head><body>Hello world</body></html>";
//获取缓冲区的内容
$out = ob_get_contents();
//关闭输出缓存
ob_end_clean();
//打开test.html文件开启写入权限
$fp = fopen("test.html", "w");
if (!$fp) {
echo "Fail";die;
} else {
//写入文件
fwrite($fp, $out);
//关闭文件
fclose($fp);
echo "Success";
}
输出结果:Success 同时输出一个静态页面如下图

php输出控制函数和输出函数生成静态页面的更多相关文章
- js引入php 用来加载静态页面 输出到页面中
HTML页面中加入代码 <script type="text/javascript" src="http://www.域名.com/js.php?id=tjyd&q ...
- PHP输出控制函数(ob系列函数)
PHP输出控制函数(ob系列函数) flush — 刷新输出缓冲ob_clean — 清空(擦掉)输出缓冲区ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲ob_end_flush — ...
- 浅谈php生成静态页面
一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...
- PHP生成静态页面的方法
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存 等实现页面静态化,今天就以PHP实例教程形 ...
- .NET生成静态页面并分页
因为公司的产品用asp开发, 前一段时间用asp写了一个生成静态页面并分页的程序,但缘于对.net的热爱,写了这个.net下的生成静态页面并分页的程序. 主要的原理就是替换模板里的特殊字符. 1.静态 ...
- .net 生成 静态页面
.net 生成 静态页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespac ...
- 比较详细PHP生成静态页面教程
一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...
- .NET生成静态页面的方案总结
转载自:http://www.cnblogs.com/cuihongyu3503319/archive/2012/12/06/2804233.html 方法一:在服务器上指定aspx网页,生成html ...
- [转]把动态页面.aspx 生成静态页面.html
本文转自:http://blog.csdn.net/csb5201314/article/details/5391688 如果要把主页Index.aspx 生成静态页面 Index.html后输出会提 ...
随机推荐
- sqoop应用
1.导入数据(将mysql(rdbms)的表的数据导入到hdfs) 1.1.全部导入(注意空格) sqoop import \ --connect jdbc:mysql://192.168.159.1 ...
- Reinforcement Learning Index Page
Reinforcement Learning Posts Step-by-step from Markov Property to Markov Decision Process Markov Dec ...
- oracle--少见操作、如何调整dos窗口大小、字符集设置
如何调整dos窗口大小 1.set linesize 400; 2.右键 --默认值 断开.连接 disconn ; conn ww/ww; 关于字符集 操作系统环境变量针对语言项设置有几个,我经常设 ...
- Redis集合的常用操作指令
Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...
- Nacos1.1.3小试牛刀
什么是 Nacos(摘自https://nacos.io/zh-cn/docs/quick-start.html) Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性 ...
- Samba服务问答
1. samba服务用在什么地方?samba服务用于把Linux服务器上的文件或者打印接共享给windows或者Linux. 2. 在samba服务的配置文件中,[global]配置部分的securi ...
- String hashCode 这个数字,很多人不知道!
作者:coolblog segmentfault.com/a/1190000010799123 1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 ...
- ECarts 的初步使用
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...
- C#中ComboBox动态绑定赋值
http://www.crifan.com/csharp_combobox_data_dynamic_binding/ C#中,已有一个List,想要动态的,绑定到ComboBox中. [解决过程] ...
- k8s存储
·几种存储类型 1)emptyDir emptyDir Volume的生命周期与Pod一致,Pod中的所有容器都可以共享Volume,它们可以指定各自的mount路径,当Pod从节点删除时,Volum ...