- 浏览: 54904 次
- 性别:
- 来自: 广州
最新评论
本文章主要讲关于php缓冲输出函数php ob_start 与 ob_end_flush()哦
相关函数说明
ob_start([string output_callback])- 打开输出缓冲区
所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区
test.php
<?
function test($str){
return str_replace("php2000","y10k",$str);
}
ob_start("test");
echo "hello php2000";
ob_end_flush();
?>
这个程序在没有输出信息控制的情况下应该输出为
hello php2000
但通过指定了输出控制函数后,输出变为
hello y10k
在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush()或者脚本运行终止, 然后输出信息由自定义的处理函数进行处理(替换里面的字符串)并返回结果。
相关函数说明
ob_start([string output_callback])- 打开输出缓冲区
所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区
test.php
<?
function test($str){
return str_replace("php2000","y10k",$str);
}
ob_start("test");
echo "hello php2000";
ob_end_flush();
?>
这个程序在没有输出信息控制的情况下应该输出为
hello php2000
但通过指定了输出控制函数后,输出变为
hello y10k
在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush()或者脚本运行终止, 然后输出信息由自定义的处理函数进行处理(替换里面的字符串)并返回结果。
发表评论
-
PHP中静态方法(static)与非静态方法的使用及区别
2012-07-27 11:21 1130static关键字用来修饰属性、方法,称这些属性、方法为静态属 ... -
PHP导出excel表格,PHP导出Excel报表,PHP导出Xls表格!
2011-10-19 14:19 2981php导出excel 2010/02/01 10:33 最近 ... -
正则表达式匹配html 过滤非法字符
2011-06-14 10:50 1927正则表达式匹配html 过滤非法字符 匹配一个html标签,匹 ... -
iframe ie下设置无边框
2011-01-11 16:01 1701<iframe src="url“ id=&q ... -
php session_id() session_name()
2010-12-20 14:01 13801.Session.use_cookies:默认值 ... -
linux 下 apache启动、停止、重启命令
2010-12-17 20:00 981基本的操作方法: 本文假设你的apahce安装目录为/usr/ ... -
JavaScript escape() 函数
2010-12-10 17:03 1094JavaScript escape() 函数 定义和用法ht ... -
PHP中@符号的作用。
2010-12-07 16:12 986PHP代码中函数前面的@是什么意思? 【答】:@的作用是忽略 ... -
Ubuntu Linux下安装Zend Studio
2010-11-25 16:48 2123Ubuntu娱乐功能已经非常不错,无非是看看电影,听听歌 ... -
详解PHP ob_start()函数的功能要点
2010-11-25 15:00 1056PHP函数的运用范围非常 ... -
php函数ob_start()、ob_end_clean()、ob_get_contents()
2010-11-25 14:59 1113下面3个函数的用法 ob_get_contents(); o ... -
Memcache基础教程
2010-11-25 14:58 769Memcache是什么 Memcache是danga.com的 ... -
PEAR的MDB2学习笔记
2010-11-10 14:57 1368■ 安装 需要安装两个包,一是MDB2本身基础类:[url= ... -
使用jquery不刷新前台页面完成提交表单的例子
2010-11-10 11:01 5864使用jquery不刷新前台页面完成提交表单的例子。 前台文件 ... -
php链接mysql数据库不能用localhost的解决方法
2010-11-09 16:57 1701网上看了好多解决的方 ... -
Pear MDB2安装及MDB2 Error: not found问题
2010-11-09 11:31 18791、选安装PEAR,点击php目录下的go-pear.bat, ... -
php教程 DOM解析xml文档实例
2010-11-05 11:22 1129<?php // php教程 domdocumen ... -
PHP中的COOKIE和SESSION使用技巧
2010-11-03 16:15 13321. PHP的COOKIE cookie 是一种在远程浏览器 ... -
PHP获取当前文件路径,上层目录路径
2010-11-02 14:44 5329PHP获取当前文件路径,上层目录路径 取的現在檔案、目錄、上 ... -
linux的chmod与chown命令详解
2010-11-01 14:53 764使用方式 : chmod [-cfvR] [--help] [ ...
相关推荐
`ob_end_flush()`发送缓冲区内容到浏览器并关闭缓冲区。 `ob_implicit_flush()`可以打开或关闭绝对刷新,当开启时,PHP会自动将输出直接发送到浏览器,无需手动调用`flush()`。 2. **Smarty模板引擎**: Smarty...
与 `flush()` 不同,`ob_flush()` 不会立即发送数据到客户端,而是等到缓冲区满或遇到 `ob_end_flush()` 时才进行发送。这意味着,如果你连续调用 `ob_flush()`,数据会在缓冲区满或者你调用 `ob_end_flush()` 时一...
必须使用`ob_end_flush()`或`flush()`等函数显式输出缓冲区内容。 3. **ob_get_contents** - **函数格式**:`ob_get_contents();` - **说明**:获取当前输出缓冲区的内容。如果输出缓冲未开启,则返回`FALSE`。 ...
需要注意的是,在使用ob_start()及其变体时,必须确保在整个脚本的生命周期内使用ob_end_clean()或ob_end_flush()来结束输出缓冲,否则会导致后续的内容无法输出,或者出现输出不正常的情况。ob_end_clean()会清除...
与ob_end_flush()不同的是,ob_end_clean()不会输出缓冲区的内容,它完全清空缓冲区并释放内存。这在某些情况下特别有用,比如在数据传输或者页面重定向前需要清空所有输出缓冲区中的内容。 4. ob_get_clean()函数...
在这个例子中,`ob_start()`开启缓冲,然后输出的内容会被保存,直到`ob_end_flush()`被调用,这时才将缓冲区的内容发送到浏览器。在这两者之间,可以设置HTTP头信息,例如`header()`函数,它必须在任何输出之前调用...
当`ob_start()`被调用时,PHP会开始在内存中存储所有输出的内容,直到`ob_end_flush()` 或其他 `ob_end_XXX()` 函数被调用,此时才会将缓冲区中的内容发送到浏览器。 `ob_gzhandler()` 是一个预定义的输出处理器,...
配合 `ob_end_clean()`、`ob_end_flush()` 等其他 `ob_` 开头的函数,可以构建复杂的输出处理逻辑。 总的来说,理解和正确使用PHP的输出缓冲机制对于开发响应式Web应用或者优化页面加载速度非常重要。在处理IE浏览...
这是因为`ob_start`会将所有输出的数据暂存起来,直到你显式地调用`ob_end_flush()`或`flush()`来发送缓冲区的内容到浏览器。 下面我们将详细讨论`ob_start`函数以及与之相关的其他输出控制函数: 1. **`ob_start`...
我想将PHP脚本中输出的东西收集在一起,于是使用了ob_start和ob_end_flush这两个函数,确实有达到收集输出内容的作用,但同时也将这些打印到了控制台界面中。我想问的是有没有办法,阻止PHP像控制台输出信息。该软件...
以上场景只是`ob_start()`功能的一部分,实际上,配合其他`ob_`系列函数(如`ob_get_contents()`、`ob_end_clean()`、`ob_end_flush()`等),还可以实现更多高级功能,例如处理输出过滤、控制浏览器缓存、生成压缩后...
它不同于`ob_end_flush()`,后者会结束缓冲并将内容发送到浏览器,而`ob_end_clean()`则是直接清除缓冲区,不将内容输出。 结合这三个函数,我们可以实现动态页面到静态页面的转换。以下是一个简单的示例: 首先,...
`ob_end_flush()`则在适当的时候将整个缓冲区的内容发送给浏览器。 ### 相关函数介绍 1. **flush()**:该函数用于刷新缓冲区内容并将其输出到浏览器,具有较高的效率。 2. **ob_start()**:启动输出缓冲区,之后的...
在实际应用中,`ob_get_contents()`、`ob_start()` 和 `ob_end_clean()`/`ob_end_flush()` 的组合使用是十分常见的。例如,在进行页面静态化时,可以将渲染后的页面内容存储到变量中,然后根据文件系统中文件的存在...
当调用ob_start()时,PHP会开始将输出保存到缓冲区,直到脚本执行完毕或者调用ob_end_flush()后才发送到客户端。ob_start()还可以配合ob_get_contents()使用,将输出保存到变量中,这在需要对输出内容进行处理或修改...
同时,合理运用`ob_start()`、`ob_end_flush()`等其他`ob_*`函数,可以更灵活地控制输出缓冲区,实现更多复杂的需求。 总之,`ob_flush()`和`flush()`是PHP实现动态输出和实时更新页面的重要工具,理解它们的工作...