让我们快速回顾一下。 PHP是一种解释型语言,因此每个语句都一个接一个地执行,因此PHP倾向于将HTML大量发送给浏览器,从而降低了性能。使用输出缓冲,生成的HTML将存储在缓冲区或字符串变量中,并在执行PHP脚本中的最后一条语句后发送到缓冲区以进行呈现。
但是默认情况下不启用输出缓冲。为了启用输出缓冲,必须先使用ob_start()函数,然后再在脚本中回显任何HTML内容。
用法:
bool ob_start ()
参数:该函数可以接受一堆可选参数,如下所示:
- 回调函数:这是一个可选参数,需要一个函数,该函数接收输出缓冲区的内容并返回要发送到浏览器进行渲染的字符串。回调函数通常用于压缩HTML内容。
- 块大小:这是另一个可选参数,用于设置提供的大小的输出缓冲区大小,并在缓冲区已满或超过时立即输出。
- 标志:这是另一个可选参数,它接受位掩码来控制可以在输出缓冲区上实现的操作。传递此参数以限制访问。默认权限允许访问缓冲区的清理,刷新和删除。
返回类型:成功时此函数返回TRUE,否则返回FALSE。
以下示例程序旨在说明ob_start()在PHP中的工作:
<?php
// PHP code to illustrate the working
// of ob_start() Function
function callback($buffer){
// Return Everything in CAPS.
return (strtoupper($buffer));
}
ob_start("callback");
echo "Hello Geek!";
ob_end_flush();
?>
输出:
HELLO GEEK!
注意事项:
- 启用输出缓冲。
- 输出缓冲标志可以是四种类型:PHP_OUTPUT_HANDLER_CLEANABLE(仅清除),PHP_OUTPUT_HANDLER_FLUSHABLE(仅清除),PHP_OUTPUT_HANDLER_REMOVABLE(仅移除),PHP_OUTPUT_HANDLER_STDFLAGS(允许每次操作)。
- 输出缓冲区是可堆叠的,因此允许嵌套ob_start()方法,并且如果顺序关闭/刷新它们,则可以按需要工作。
参考:
http://php.net/manual/en/function.ob-start.php
相关用法
- p5.js sq()用法及代码示例
- d3.js d3.map.has()用法及代码示例
- PHP next()用法及代码示例
- p5.js day()用法及代码示例
- p5.js pow()用法及代码示例
- CSS var()用法及代码示例
- d3.js d3.map.set()用法及代码示例
- PHP pow( )用法及代码示例
- PHP pi( )用法及代码示例
- PHP Ds\Map get()用法及代码示例
- PHP Ds\Map put()用法及代码示例
- p5.js str()用法及代码示例
注:本文由纯净天空筛选整理自PronabM大神的英文原创作品 PHP | ob_start() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。