代码之家  ›  专栏  ›  技术社区  ›  JimmyJ

奇怪的ob\u start()行为-双输出

  •  7
  • JimmyJ  · 技术社区  · 16 年前

    ob\u start()似乎没有停止任何输出,因此当我刷新缓冲区时,它会加倍

    <?php
    ob_start();
    echo "Text..... <br />";
    echo ob_get_flush();
    ?>
    

    Text..... 
    Text..... 
    

    但我期待着

    Text..... 
    

    有什么想法吗?

    谢谢

    2 回复  |  直到 16 年前
        1
  •  12
  •   Mike B    16 年前

    去掉最后一行的回声。

    ob_get_flush()

    你可能搞糊涂了 ob\u get\u flush() 具有 ob_get_clean()

        2
  •  1
  •   jigfox    16 年前

    尝试:

    <?php
    ob_start();
    echo "Text..... <br />";
    ob_get_flush();
    ?>
    

    http://php.net/manual/en/function.ob-get-flush.php

    刷新输出缓冲区,将其作为字符串返回并关闭输出缓冲

    刷新输出意味着:它将输出发送到浏览器或命令行。 return the string的意思是:它返回字符串,因此可以将刷新的字符串存储在变量中。既然你是 echo

    推荐文章