Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Read echo'ed output from another PHP file

Tags:

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?

like image 539
rzlines Avatar asked Mar 10 '09 17:03

rzlines


People also ask

Can you put PHP inside PHP with echo?

You cannot have PHP echo more PHP code to be evaluated because PHP interprets your code in a single pass.

How do I join two PHP files?

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.

How can I see the output of a PHP file?

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.


2 Answers

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.

like image 70
Jesse Rusak Avatar answered Sep 17 '22 19:09

Jesse Rusak


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');
like image 23
Typewar Avatar answered Sep 20 '22 19:09

Typewar