【问题标题】:PHP output buffering doesn't work!PHP 输出缓冲不起作用!
【发布时间】:2011-04-24 13:51:05
【问题描述】:
ob_start();

for($i=1; $i<=10; $i++){
  echo 'FUU';
  $output = ob_get_contents();
}

echo $output;
ob_end_flush();  

所以我得到 10 个 FUU 而不是一个 FUU!为什么我的ob_start() 不起作用?

【问题讨论】:

  • 一个?十?你不应该得到二十吗?您将其回显到输出缓冲区十次,然后将 $output(也有十次)回显到输出缓冲区中,然后刷新缓冲区,该缓冲区应输出两组 10 个。
  • 可能是,我看过很多:)

标签: php output-buffering


【解决方案1】:

我不认为你明白它在做什么。这是一个演练:

$i = 1
Output buffer = FUU
ob_get_contents()/$output = FUU

$i = 2
Output buffer = FUUFUU
ob_get_contents()/$output = FUUFUU

$i = 3
Output buffer = FUUFUUFUU
ob_get_contents()/$output = FUUFUUFUU

当您在每次迭代中调用 ob_get_contents 时,它会获取 echoed 的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多