包括变量

时间:2011-01-25 20:24:53

标签: php

您知道print_r如何接受可选的第二个参数,如果设置为true将返回结果而不是打印结果吗?

我希望include接受第二个参数,它将以相同的方式工作。

它不是那么可用的替代品是什么?如何将文件包含到变量中?

2 个答案:

答案 0 :(得分:7)

ob_start()ob_get_clean()会为您做到这一点:

ob_start();
include "file.php";
$result = ob_get_clean();

在ob_start()之后捕获所有回显的内容,并使用ob_get_clean()来检索捕获的数据。

您甚至可以执行include2这样的功能:

function include2($file) {
    ob_start();
    include $file;
    return ob_get_clean();
}

并像这样使用它:

include2("file.php"); // return all printed values instead of really printing them

正如@ircmaxell所指出的,这个include2函数与include的行为并不完全相同,因为包含的范围发生了变化(从全局到函数的范围)。因此,如果您依赖全局范围,这可能会破坏事物。

答案 1 :(得分:0)

我认为您正在http://www.php.net/manual/en/function.include.php

寻找#5

从脚本中返回内容。

include处理脚本的返回值。