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

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.

Answers


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


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

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


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?


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


Need Your Help

Create SecurityKey from signing certificate thumbprint

c# owin wif ws-federation

I'm trying to migrate from FederationAuthenticationModule (WS FAM?) to OWIN WsFederationAuthentication middleware. So far, so good except that, for some customers we only have the thumbprint of their

Is my websocket's server origin checking safe?

php security websocket

I'm using https://github.com/lemmingzshadow/php-websocket/