PHP如何使用ob_start()函数启用输出缓冲?(代码示例)

来源:青灯夜游 发布时间:2019-03-11 11:35:03 阅读量:761

    在PHP中我们可以使用ob_start()函数来启用输出缓冲,下面本篇文章就来带大家简单了解一下ob_start()函数的使用方法,希望对大家有所帮助。【视频教程推荐:PHP教程】

PHP是一种解释型语言,每个语句都是一个接一个地执行,因此PHP倾向于以块的形式向浏览器发送HTML,从而降低性能。使用输出缓冲,所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区或字符串变量中,并在执行PHP脚本中的最后一条语句结束后,缓冲区的内容才会发送到浏览器以进行渲染呈现,由浏览器来解析显示。

但默认情况下是不启用输出缓冲的;为了启用输出缓冲,必须在脚本中回送任何HTML内容之前使用ob_start()函数。

基本语法:

1 ob_start () 

参数:ob_start()函数可以接受一堆可选参数,如下所示:

● 回调函数(Callback function):这是一个可选参数,它需要一个获取输出缓冲区内容并返回一个字符串的函数,该字符串将被发送到浏览器进行渲染。回调函数通常用于压缩HTML内容。

● 块大小(Chunk size):这是另一个可选参数,它在缓冲区已满或超出时立即设置提供的大小和输出的输出缓冲区大小。

● 标志(Flags):这是另一个可选参数,它接受位掩码来控制可以在输出缓冲区上实现的操作。传递此参数以限制访问。默认权限允许访问清理,刷新和删除缓冲区。

返回类型:ob_start()函数在成功时返回TRUE,否则返回FALSE。

代码示例:

123456789101112 <?php header("content-type:text/html;charset=utf-8");function callback($buffer){//返回缓冲区内的所有东西    return (strtoupper($buffer.",javascript,html,css!")); }    ob_start("callback"); echo "Hello php"; ob_end_flush();    ?> 

输出:

说明:

●想要使用缓冲区,需要先启动缓冲区。

●输出缓冲标志可以是四种类型:

 1、PHP_OUTPUT_HANDLER_CLEANABLE(only clean)

 2、PHP_OUTPUT_HANDLER_FLUSHABLE(only flush)

 3、PHP_OUTPUT_HANDLER_REMOVABLE(only remove)

 4、PHP_OUTPUT_HANDLER_STDFLAGS(allowed every operation).

●输出缓冲区是可堆叠的,因此,如果按顺序关闭/刷新,则允许嵌套的ob_start()方法并按需要工作。

●ob_end_flush()函数是在结束(发送)输出缓冲区的内容后,用来关闭输出缓冲区的。


标签: PHP
分享:
评论:
你还没有登录,请先