Read echo'ed output from another PHP file
Asked Answered
G

2

22

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?

Gies answered 10/3, 2009 at 17:20 Comment(0)
F
52

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.

Freud answered 10/3, 2009 at 17:22 Comment(1)
I'd also answer with ob_start(), you didn'tRefill
P
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');
Prolegomenon answered 18/5, 2017 at 1:35 Comment(1)
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 TypewarYahweh

© 2022 - 2024 — McMap. All rights reserved.