2010-05-04 85 views
4

有一个header.php文件,它包含一些返回HTML的PHP​​代码。 我知道我可以使用require,include来回显结果,但我想要做的是将其处理的输出字符串存储到变量中。使用file_get_contents将本地PHP文件的HTML输出存储到字符串中

在一个页面中,我用:

$headerHTML=file_get_contents('header.php'); 

然后我得到的PHP代码输出,而不是处理HTML输出。 我知道添加http://会有所帮助。 但我更喜欢继续使用相对路径,我该如何告诉函数正确处理php文件?

注意:如果可能,我想继续使用此语句file_get_contents而不是使用ob_start()

回答

5

我宁愿使用require()包裹在ob_start()ob_get_clean()之内。我相信这种方法没有错。

+0

看来这可能是最好的方法。 – bobo 2010-05-09 08:28:57

+0

除非您需要在已包装在'ob_' – 2014-03-25 11:20:25

+2

'ob_'调用中的部分代码中执行调用,否则调用可以嵌套;在这种情况下返回_current_缓冲区内容。 – 2014-03-25 17:50:07

1

如果启用了URL包装,并且您希望header.php的输出(并且您不想保留会话状态),那么您可以使用$headerHTML=file_get_contents('http://yourdomain.tld/path/to/header.php');,但为什么您想要做这样的事情却没有。你确定你没有尝试使用模板和缓存很容易解决的事情吗?

相关问题