flush()
函数用于将已输出的数据传输到浏览器并清除(释放)输出缓冲区。这在某些情况下非常有用,例如在循环中实时显示输出结果时。
在 PHP 中,要在脚本中使用 flush()
,请遵循以下步骤:
确保您的 PHP 设置允许输出缓冲。您可以通过检查 output_buffering
配置选项来确认这一点。要禁用输出缓冲,可以在 php.ini 文件中设置 output_buffering = Off
。
在发送任何输出(如 HTML、文本等)之前,使用 ob_start()
函数启用输出缓冲。这将确保所有输出都将被捕获到一个缓冲区中,而不是直接发送到浏览器。
<?php
ob_start();
?>
flush()
和 ob_flush()
函数。flush()
将清除输出缓冲区的内容并将其发送到浏览器,而 ob_flush()
仅清除输出缓冲区。通常,您需要同时使用这两个函数以获得最佳效果。<?php
// 示例代码
for ($i = 0; $i < 10; $i++) {
echo "Output: {$i}<br>";
ob_flush(); // 清除输出缓冲区内容
flush(); // 将内容发送到浏览器
sleep(1); // 暂停 1 秒
}
?>
请注意,flush()
和 ob_flush()
的行为可能因浏览器和服务器而异。在某些情况下,它们可能不会按预期工作。因此,在使用这些函数时,请确保充分测试您的代码。