2011-11-23 128 views
2

如何将PHP文件(其中也包含HTML)的内容变为变量,然后在另一个PHP文件中稍后回显它们?我也需要内容来正确执行PHP。我尝试了类似下面的内容,但它只是给了我一个页面上所有内容的字符串。将PHP文件的内容变为显示的变量

$contents = file_get_contents("myfile"); 
echo $contents; 

回答

3

使用output bufferinginclude文件。

ob_start(); 
include('myfile'); 
$contents = ob_get_contents(); 
ob_end_clean(); 

然后,在稍后的时间:

echo $contents; 
+0

我在别处也看到了这个选项。这是好的做法吗? – Metropolis

+2

在我看来,这是捕获'myfile'输出的最好方法,同时允许执行文件中包含的PHP代码。 – nickb

+2

@metro:一般来说,是的。它基本上是使用原生基于php的模板的模板系统的基础。 – prodigitalson

0

一个PHP脚本执行另一个并捕获它的输出通常意味着你处理事情的错误的方式。如果你必须,看看输出缓冲区,eval,甚至可能是像system_exec这样的东西。

如果您想更好地解决您的问题,您可能需要查看像CodeIgniter这样的项目以及它的模板系统如何工作,特别是如何将小模板部分/片段渲染并合并到较大的视图/模板中。