ob_start() 在 php 中有什么用?

2022-08-30 06:00:29

是否用于缓冲标头而不发送到浏览器?我在这里有意义吗?如果不是,那么我们为什么要使用?ob_start()output bufferingob_start()


答案 1

可以这样说:“开始记住通常输出的所有内容,但还没有完全对它做任何事情。ob_start()

例如:

ob_start();
echo("Hello there!"); //would normally get printed to the screen/output to browser
$output = ob_get_contents();
ob_end_clean();

您通常还与另外两个函数配对: ,它基本上为您提供了自打开以来已“保存”到缓冲区的任何内容,然后或 ,它要么停止保存内容并丢弃已保存的内容,要么停止保存并一次输出所有内容。ob_get_contents()ob_start()ob_end_clean()ob_flush()


答案 2

我使用这个,所以我可以用很多HTML来突破PHP,但不渲染它。它使我免于将其存储为禁用IDE颜色编码的字符串。

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_clean();
?>

而不是:

<?php
$content = '<div>
    <span>text</span>
    <a href="#">link</a>
</div>';
?>

推荐