Deprecated: Optional parameter $keys declared before required parameter $cms_id is implicitly treated as a required parameter in /home/www/dev/work/class/blog/CmsKey.php on line 75

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$title is deprecated in /home/www/dev/work/website/lvesu/class/controller/blog/php.php on line 28

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$outlink is deprecated in /home/www/dev/work/website/lvesu/template/blog/cms/php.manual.tpl on line 2

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$status is deprecated in /home/www/dev/work/website/lvesu/template/blog/index.head.php on line 2
PHP - Manual: 输出控制 - 互联网笔记

略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: 输出控制

2025-04-19

输出缓冲控制

添加备注

用户贡献的备注 1 note

up
53
clancy hood at gmail dot com
15 years ago
The manual is a little shy on explaining that output buffers are nested, and that "turns off output buffering" means turning off the highest nested buffer. See ob_get_level (for a useful function, but still no explanation)

<?php
ob_start
();
echo
"1:blah\n";
ob_start();
echo
"2:blah";
// ob_get_clean() returns the contents of the last buffer opened. The first "blah" and the output of var_dump are flushed from the top buffer on exit
var_dump(ob_get_clean());
exit;
?>

puts:
1:blah
string(6) "2:blah"

Prior to realising this, I had thought PHP's ob functionality left more to be desired. I *really* wish I knew earlier.

官方地址:https://www.php.net/manual/en/book.outcontrol.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3