Storing the HTML output from a local PHP file into a string using file_get_contents

江枫思渺然 提交于 2019-11-27 06:20:12

问题


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.


回答1:


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




回答2:


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

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




回答3:


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?




回答4:


You can check http://in2.php.net/manual/en/function.eval.php#56641, hope it helps.



来源:https://stackoverflow.com/questions/2762889/storing-the-html-output-from-a-local-php-file-into-a-string-using-file-get-conte

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!