如何使包含的php文件成为变量

时间:2011-01-13 23:51:10

标签: php

我想创建一个php文件,我有一个变量的一部分,我正在构建。

$print = 'something';
$print .=  include('register_form.php');

print $print;

然而,这不起作用。 register_form.php将不会包含在$ print var中,并且会在打印开始之前回显出来。

有没有办法实现这个目标?

我知道我可以进入register_form.php并使其成为像register_form()这样的函数并返回它的输出,但是,由于我构造它的方式(我有点像新手)如果我只能做上述尝试,那会产生更多麻烦。

感谢您的任何指示!

4 个答案:

答案 0 :(得分:7)

您可以通过output buffering来完成此操作。

ob_start();
include('register_form.php');
$print = ob_get_contents();
ob_end_clean();


echo $print;

答案 1 :(得分:1)

另一个选项是file_get_contents($ filename);

将整个文件读入字符串。

file_get_contents

- 编辑

抱歉,请更正确地阅读您的问题。如果你的php表单中有echo语句,输出缓冲是唯一的方法。

更简洁的方法是让输出表单函数返回HTML,以便您可以选择何时输出。这可能是一个小问题,但将来会更容易。

答案 2 :(得分:0)

输出缓冲:

ob_start();
include('register_form.php');
$output = ob_get_clean();

echo $output;

答案 3 :(得分:0)

包含的文件可以包含返回值。通过将其与输出缓冲相结合,您可以实现您想要的效果。

register_form.php

ob_start();
// content
return ob_get_clean();

然后您的代码将起作用:

$print = 'something';
$print .=  include 'register_form.php' ;
echo $print;