23

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?

2 Answers 2

53

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.

Sign up to request clarification or add additional context in comments.

1 Comment

I'd also answer with ob_start(), you didn't
7

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');

1 Comment

it can be a good answer when we have two environments and in some how we need one of them provide information/service for the other. the url may be better to be configurable :) Thanks Typewar

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.