php - ob_start echo 的字符串仍然输出

标签 php ob-start

我希望 ob_start() 不让 echo 的输出到它们的正常目的地,而是只记录它们的内容。但它似乎并没有这样做。有任何想法吗?这是我的代码:

<?php

ob_start();

echo 'test';

$out = ob_get_contents();

var_dump($out);

测试仍然被回显。它也是 var_dump'd,但我不希望它被回显。

有什么想法吗?

谢谢!

最佳答案

输出缓冲区会在脚本结束时自动刷新,因此这是预期的行为。

您正在寻找ob_get_clean() ,在清除之前返回当前缓冲区:

$out = ob_get_clean();

关于php - ob_start echo 的字符串仍然输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327709/

相关文章:

php - Laravel 验证 : Required only and only one field

PHP异步任务

php - 如何在类内启动 ob_start?

php - 如何在一个页面上运行多个ajax调用

php - 使用 AJAX/PHP/mysqli 创建加载更多按钮

php - 方法 ob_start 和 ob_flush 不起作用,为什么?

php - 为什么 ob_start() 必须先于 session_start() 才能在 PHP 中工作?

php - 如何在 PHP 中为 ob_start 传递带参数的回调函数?

php - 使用 PHP ob_start 和 ob_get_clean 输出流

php - PDO查询帮助