6

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

在一个页面中,我使用了:

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

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

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

4

4 回答 4

5

我宁愿使用require()包裹在里面ob_start()ob_get_clean(). 我确信这种方法没有任何问题。

于 2010-05-04T08:29:05.277 回答
1

不要使用eval()- 它是邪恶的!

使用相对本地路径自动将其映射到绝对 URL

于 2010-05-04T05:38:33.967 回答
1

如果启用了 URL 包装器并且您想要 header.php 的输出(并且您不想保持会话状态),您可以使用$headerHTML=file_get_contents('http://yourdomain.tld/path/to/header.php');,尽管为什么您想要做这样的事情让我难以理解。您确定您没有尝试做一些可以通过使用模板和缓存轻松解决的事情吗?

于 2010-05-04T07:55:14.067 回答
0

您可以查看http://in2.php.net/manual/en/function.eval.php#56641,希望对您有所帮助。

于 2010-05-04T05:05:42.007 回答