PHP ob_start() 函数

17 Mar 2025 | 4 分钟阅读

ob_start() 函数用于在 PHP 中创建输出缓冲区。我们已经知道 PHP 是一种解释型语言,也就是说,用 PHP 编写的任何程序都会被分步执行,一条语句接一条语句,这使得处理速度与其它语言相比相对较慢。

因此,PHP 使用 ob_start() 函数,它创建一个输出缓冲区,将生成的 HTML 存储在一个集群/缓冲区或字符串变量中,然后发送到渲染,从而提高速度并减少执行时间。

为了执行输出缓冲区,我们需要使用 ob_start() 函数,它使用一个回调函数来处理缓冲区的内容。

成功传输时函数返回 TRUE,失败时返回 FALSE。

语法


序号参数描述强制/可选
1回调回调的主要任务是在内容刷新出去之前处理所有缓冲区内容,即它从输出缓冲区获取所有内容,并返回内容作为发送到浏览器进行渲染的字符串。
此外,回调本身还包含两个附加参数(buffer,phase)。
Buffer:输出缓冲区的内容
Phase:使用的标志
optional
2块大小此参数用于设置输出缓冲区的大小,当缓冲区达到所需块大小时,它将自动执行输出。optional
3flag此参数使用位掩码来控制将在输出缓冲区上执行的所有操作。此参数用于限制授予缓冲区的访问和权限。
默认的缓冲区标志是
PHP _ OUTPUT _ HANDLER _ STDFLAGS:此标志执行 3 个标志的工作:清除、刷新和移除缓冲区。
PHP _ OUTPUT _ HANDLER _ CLEANABLE -用于清除缓冲区,包含 ob_clean()、ob_end_clean() 和 ob_get_clean()。
PHP _ OUTPUT _ HANDLER _ FLUSHABLE -用于刷新缓冲区,包含 ob_flush()、ob_end_flush() 和 ob_get_flush()。
PHP _ OUTPUT _ HANDLER _ REMOVABLE -用于移除缓冲区,包含 ob_end_clean()、ob_end_flush() 和 ob_get_flush()。
optional

示例 1

输出

PHP ob_start() Function

在此程序中,我们使用了 OB _ START() 函数来创建输出缓冲区,并且将使用 OB _ END _ CLEAN() 函数来清除创建的缓冲区的所有数据;因此,只有 OB _ START() 函数和 OB _ END _ CLEAN() 函数之外的文本将被显示。

示例 2

输出

PHP ob_start() Function

在此程序中,首先,我们声明了带有变量 $firstbufferCALLBACK() 函数。此函数的作用是将其内部写入的所有内容转换为大写。我们使用了 OB _ START() 函数,并将 callback 作为参数来启动该函数,从而创建一个输出缓冲区。由于回调函数的作用,OB _ START() 之后的所有文本都将以大写形式显示。

示例 3

输出

PHP ob_start() Function

正如我们所知,缓冲区将数据存储在字符串变量中。我们可以使用字符串的所有属性。在此程序中,首先,我们声明了带有变量 $mybufferCALLBACK() 函数。此函数的作用是将声明的字符串替换为另一个字符串。我们使用了 OB _ START() 函数,并将 callback 作为参数来启动该函数,从而创建一个输出缓冲区。由于回调函数的作用,OB _ START() 之后的所有 b 都将被替换为 ***。


下一主题PHP Beautifier