I want 1 PHP file to "run" (include?) another PHP file on the same server, and access its echo'ed output as a string.
How do i do this in PHP? Any inbuilt functions to do this?
Or any better way of executing another PHP file and getting its output?
You cannot have PHP echo more PHP code to be evaluated because PHP interprets your code in a single pass.
It is possible to insert the content of one PHP file into another PHP file (before the server executes it), with the include or require statement. The include and require statements are identical, except upon failure: require will produce a fatal error (E_COMPILE_ERROR) and stop the script.
With PHP, there are two basic ways to get output: echo and print . In this tutorial we use echo or print in almost every example. So, this chapter contains a little more info about those two output statements.
You can use PHP's output buffering to accomplish this:
ob_start(); // begin collecting output
include 'myfile.php';
$result = ob_get_clean(); // retrieve output from myfile.php, stop buffering
$result
will then contain the text.
You can't include a PHP script that is on an external website/server into your local script - unless you enable allow_url_include on your php.ini (if you have access to it)
Instead, you can let that website/server render the page and get the resulting HTML output on your local script by doing this:
$result = file_get_contents('http://127.0.0.1/myfile.php');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With