这篇文章运用简单易懂的例子给大家介绍如何使用PHP中的ob_start()函数启用输出缓冲,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
PHP是一种解释型语言,每个语句都是一个接一个地执行,因此PHP倾向于以块的形式向浏览器发送HTML,从而降低性能。使用输出缓冲,所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区或字符串变量中,并在执行PHP脚本中的最后一条语句结束后,缓冲区的内容才会发送到浏览器以进行渲染呈现,由浏览器来解析显示。
但默认情况下是不启用输出缓冲的;为了启用输出缓冲,必须在脚本中回送任何HTML内容之前使用ob_start()函数。
基本语法:
ob_start ()
参数:ob_start()函数可以接受一堆可选参数,如下所示:
● 回调函数(Callback function):这是一个可选参数,它需要一个获取输出缓冲区内容并返回一个字符串的函数,该字符串将被发送到浏览器进行渲染。回调函数通常用于压缩HTML内容。
● 块大小(Chunk size):这是另一个可选参数,它在缓冲区已满或超出时立即设置提供的大小和输出的输出缓冲区大小。
● 标志(Flags):这是另一个可选参数,它接受位掩码来控制可以在输出缓冲区上实现的操作。传递此参数以限制访问。默认权限允许访问清理,刷新和删除缓冲区。
返回类型:ob_start()函数在成功时返回TRUE,否则返回FALSE。
代码示例:
<?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中的ob_start()函数启用输出缓冲就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。