<?php
// Start buffering
ob_start();
// Output stuff (probably not this simple, might be custom CMS functions...
echo 'Print to the screen!!!';
// Get value of buffering so far
$getContent = ob_get_contents();
// Stop buffering
ob_end_clean();
// Do stuff to $getContent as needed
// Use it
echo 'Now: ' . $getContent;
?>
感谢您的帮助。您真的帮助我理解了网页编程和CSS魔法 :)
-andrew
我们一直使用它来处理表单。输出缓冲区充当我们编写HTML电子邮件收据的空间,用于填写表单,然后我们将其放入变量并发送出去。这是最干净的方法!!
与其使用缓冲,不如将输出保存到字符串并继续追加。
所以
$output = 'yoyo, waddup holmes';
$output .= 'hai';
echo $output;
而不是
b_start();
echo 'yoyo, waddup holmes';
echo 'hai;
$output = ob_get_contents();
echo $output;
我认为您可能有点误解了重点。
该字符串可能已用于示例中的快速性。
您可以通过使用输出缓冲来实现缓存。在输出开始前放置缓冲区开始,并在输出完成后放置缓冲区内容捕获和清理,然后将内容保存到缓存文件…
缓冲还允许在输出开始后实现headers()。
只是一个细节。您可以通过以下方式节省一行
而不是
这可以用于缓存系统吗?例如,在重建缓存时获取输出并将其写入缓存文件并使用它?这样做是否实用?
有更多实用的缓存套件,如memcached和varnish,它们更适合缓存输出。您会看到在许多框架中都使用了缓冲,在这些框架中,动态内容会被缓冲,然后馈送到静态模板中。这允许您将代码与设计分离。没有人喜欢处理巨大的、凌乱的Dreamweaver风格的页面。