- 浏览: 54896 次
- 性别:
- 来自: 广州
最新评论
PHP函数的运用范围非常广泛,我们可以在不断的实践中去体会这些函数给我们带来的好处。下面我们就来具体分析一下有关PHP ob_start()函数的功能特点。
比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:
1. < ?php
2. ob_start(); //打开缓冲区
3. phpinfo(); //使用phpinfo函数
4. $info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
5. $file=fopen(’info.txt’,'w’); //打开文件info.txt
6. fwrite($file,$info); //写入信息到info.txt
7. fclose($file); //关闭文件info.txt
8. ?>
用以上的方法,就可以把不同用户的phpinfo信息保存下来,这在以前恐怕没有办法办到!其实上面就是将一些“过程”转化为“函数”的方法!
或许有人会问:“难道就这个样子吗?还有没有其他用途?”当然有了,比如笔者论坛的PHP 语法加亮显示就和这个有关(PHP默认的语法加亮显示函数会直接输出,不能保存结果,如果在每次调用都显示恐怕会很浪费CPU,笔者的论坛就把语法加亮函数显示的结果用控制缓冲区的方法保留了)。
可能现在大家对PHP ob_start()函数的功能有了一定的了解,上面的一个例子看似简单,但实际上已经掌握了使用ob_start()的要点。
<1>.使用PHP ob_start()函数打开browser的cache,这样可以保证cache的内容在你调用flush(),ob_end_flush()(或程序执行完毕)之前不会被输出。
<2>.现在的你应该知道你所拥有的优势:可以在任何输出内容后面使用header,setcookie以及session,这是 PHP ob_start()函数一个很大的特点;也可以使用ob_start的参数,在cache被写入后,然后自动运行命令,比如 ob_start(”ob_gzhandler”);而我们最常用的做法是用ob_get_contents()得到cache中的内容,然后再进行处理……
<3>.当处理完毕后,我们可以使用各种方法输出,flush(),ob_end_flush(),以及等到程序执行完毕后的自动输出。当然,如果你用的是ob_get_contents(),那么就要你自己控制输出方式了。
比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:
1. < ?php
2. ob_start(); //打开缓冲区
3. phpinfo(); //使用phpinfo函数
4. $info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
5. $file=fopen(’info.txt’,'w’); //打开文件info.txt
6. fwrite($file,$info); //写入信息到info.txt
7. fclose($file); //关闭文件info.txt
8. ?>
用以上的方法,就可以把不同用户的phpinfo信息保存下来,这在以前恐怕没有办法办到!其实上面就是将一些“过程”转化为“函数”的方法!
或许有人会问:“难道就这个样子吗?还有没有其他用途?”当然有了,比如笔者论坛的PHP 语法加亮显示就和这个有关(PHP默认的语法加亮显示函数会直接输出,不能保存结果,如果在每次调用都显示恐怕会很浪费CPU,笔者的论坛就把语法加亮函数显示的结果用控制缓冲区的方法保留了)。
可能现在大家对PHP ob_start()函数的功能有了一定的了解,上面的一个例子看似简单,但实际上已经掌握了使用ob_start()的要点。
<1>.使用PHP ob_start()函数打开browser的cache,这样可以保证cache的内容在你调用flush(),ob_end_flush()(或程序执行完毕)之前不会被输出。
<2>.现在的你应该知道你所拥有的优势:可以在任何输出内容后面使用header,setcookie以及session,这是 PHP ob_start()函数一个很大的特点;也可以使用ob_start的参数,在cache被写入后,然后自动运行命令,比如 ob_start(”ob_gzhandler”);而我们最常用的做法是用ob_get_contents()得到cache中的内容,然后再进行处理……
<3>.当处理完毕后,我们可以使用各种方法输出,flush(),ob_end_flush(),以及等到程序执行完毕后的自动输出。当然,如果你用的是ob_get_contents(),那么就要你自己控制输出方式了。
发表评论
-
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 1925正则表达式匹配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 980基本的操作方法: 本文假设你的apahce安装目录为/usr/ ... -
JavaScript escape() 函数
2010-12-10 17:03 1094JavaScript escape() 函数 定义和用法ht ... -
PHP中@符号的作用。
2010-12-07 16:12 985PHP代码中函数前面的@是什么意思? 【答】:@的作用是忽略 ... -
Ubuntu Linux下安装Zend Studio
2010-11-25 16:48 2123Ubuntu娱乐功能已经非常不错,无非是看看电影,听听歌 ... -
php ob_start 与 ob_end_flush()
2010-11-25 15:02 1526本文章主要讲关于php缓冲输出函数php ob_start 与 ... -
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] [ ...
相关推荐
### 使用PHP的`ob_start();`控制浏览器缓存详解 #### 标题及描述解析 本文旨在探讨如何通过PHP中的`ob_start();`函数来控制浏览器缓存,这对于优化网站性能、减少网络流量以及改善用户体验等方面具有重要意义。 ##...
PHP输出缓冲函数主要包括ob_start(), ob_get_contents(), ob_end_clean(), ob_get_clean()等,这些函数在Web开发中非常有用,能够有效地管理输出的内容,特别是在进行复杂的输出操作或文件传输时。下面将详细介绍...
`ob_start()` 函数还允许指定一个回调函数,该函数会在输出缓冲区被刷新或清理时被调用。通过这种方式,可以在输出数据之前对其进行修改或处理。 **示例代码**: ```php <?php function customCallback($buffer) { ...
在PHP编程中,`flush()`和`ob_flush()`都是用于处理输出缓冲的函数,但它们在功能和使用场景上存在一些关键的区别。本篇文章将详细阐述这两个函数的原理和它们在实际应用中的差异。 首先,了解缓冲的概念。缓冲...
ob_gzhandler:ob_start()的回调函数,用于GZIP压缩缓冲区内容。 ob_list_handlers:列出当前使用的输出处理程序。 output_add_rewrite_var:添加URL重写变量。 output_reset_rewrite_vars:重置URL重写变量。 ...
上述代码中,`ob_start()`函数用于创建一个新的PHP缓存。`ob_flush()`函数则负责将当前缓存中的数据写入到上级缓存(这里是Apache缓存),而`flush()`函数则用于将Apache缓存中的数据发送到浏览器。通过这种方式,...
php中output_buffering内置函数,简称ob函数,主要会用到的下面几个: ob_start #打开输出控制缓冲 ob_get_contents #获取输出缓冲区内容 ob_clean #清空输出缓冲区 ob_get_clean #获取当前缓冲区内容,然后清空...
1. **代码级缓存**:例如使用`ob_start()`函数开启输出缓冲区,这可以在页面输出前截取所有输出流,之后通过`ob_get_contents()`获取缓冲区的内容,最后通过`ob_end_clean()`清除或`ob_end_flush()`发送并清除缓冲区...
常用函数包括`ob_start()`、`ob_end_flush()`和`ob_get_contents()`等。 **实现步骤** 1. **开启缓冲**:使用`ob_start()`函数开启输出缓冲。 2. **输出内容**:正常执行页面输出操作。 3. **获取内容**:使用`ob_...
### PHP中的ob(输出缓冲)函数使用方法详解 在PHP编程过程中,经常需要用到一些能够直接产生输出的函数,比如`passthru()`、`readfile()`、`var_dump()`等。但在某些场景下,可能需要将这些函数的输出导入到文件中...
Output Control的主要操作函数包括ob_start()、ob_get_contents()、ob_end_flush()、ob_end_clean()和ob_flush()等。ob_start()函数用于启动输出缓冲,当脚本开始运行时,如果没有输出任何内容,可以使用ob_start()...
1. **输出控制函数**:这些函数如`ob_start()`、`ob_end_flush()`、`flush()`等允许你开启和管理PHP的输出缓冲区。一旦开启了缓冲区,脚本中的数据将被存储在内存中,而不是立即发送到浏览器。 2. **`ob_start()`**...
1. `ob_start()`:开启输出缓冲。可选参数`outputcallback`允许提供一个回调函数,该函数将在缓冲区内容被发送之前调用,对内容进行处理。`chunk_size`参数指定缓冲区大小,`erase`参数决定是否清除缓冲区内容。例如...
- **`ob_start()`**:该函数用于启动输出缓冲。在发送任何HTTP头部之前,页面的内容都会被缓存在内存中,直到调用`ob_get_contents()`或`ob_end_clean()`等函数进行处理。 - **使用场景**:在生成静态页面时,可以...
在具体的应用中,PHP代码层面的压缩实现,可以通过ob_start函数配合自定义的压缩函数来实现。例如,可以定义一个名为ob_gzip的函数来处理内容的压缩过程: ```php function ob_gzip($content) { if (!headers_sent...