使用 file_get_contents 将本地 PHP 文件的 HTML 输出存储到字符串中
有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我宁愿使用包含在
ob_start()
和ob_get_clean()
内的require()
。我确信这种方法没有任何问题。I'd rather use
require()
wrapped insideob_start()
andob_get_clean()
. I am sure there is nothing wrong with this approach.不要使用
eval()
- 这是邪恶的!使用相对本地路径自动将其映射到绝对URL。
Don't use
eval()
- it's evil!Use the relative local path an automatically map it to a absolute URL.
如果启用了 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?您可以检查 https://www.php.net/manual/en /function.eval.php#56641,希望有帮助。
You can check https://www.php.net/manual/en/function.eval.php#56641, hope it helps.