使用 file_get_contents 将本地 PHP 文件的 HTML 输出存储到字符串中

发布于 2024-08-31 01:41:14 字数 378 浏览 5 评论 0原文

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

在页面中,我使用:

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

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

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

There is a header.php file and it contains some php codes that return HTML.
I know I can use require, include to echo the results, but what I want to do is to store its processed output string into a variable.

In a page, I used:

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

Then I got the PHP code output rather than the processed HTML output.
I know adding http:// would help.
But I prefer to keep using relative path, how can I tell the function to treat the php file correctly?

Note: I would like to continue to use this statement file_get_contents rather than using ob_start() if possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

地狱即天堂 2024-09-07 01:41:14

我宁愿使用包含在 ob_start()ob_get_clean() 内的 require()。我确信这种方法没有任何问题。

I'd rather use require() wrapped inside ob_start() and ob_get_clean(). I am sure there is nothing wrong with this approach.

静待花开 2024-09-07 01:41:14

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

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

Don't use eval() - it's evil!

Use the relative local path an automatically map it to a absolute URL.

旧城空念 2024-09-07 01:41:14

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

If URL wrappers are enabled and you want the output of header.php (and you don't want to keep session state) you could use $headerHTML=file_get_contents('http://yourdomain.tld/path/to/header.php');, though why you would want to do such a thing eludes me. Are you sure you're not trying to do something that could easily be solved by using templates and caching?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文