2009-03-10 13 views
14

Voglio 1 file PHP per "eseguire" (includere?) Un altro file PHP sullo stesso server e accedere al suo output echo come stringa.Leggi l'output echo da un altro file PHP

Come faccio questo in PHP? Qualche funzione incorporata per fare questo?

O un modo migliore per eseguire un altro file PHP e ottenere l'output?

risposta

31

È possibile utilizzare PHP di output buffering per raggiungere questo obiettivo:

ob_start(); // begin collecting output 

include 'myfile.php'; 

$result = ob_get_clean(); // retrieve output from myfile.php, stop buffering 

$result conterrà quindi il testo.

+0

mi piacerebbe anche rispondo con 'ob_start()', non l'hai fatto – Wieczo

2

Non è possibile includere uno script PHP che si trova su un sito web/server esterni nel vostro script locale - a meno che non abilitare allow_url_include sul tuo php.ini (se si ha accesso ad esso)

Invece, si può lasciare che il sito/server il rendering della pagina e ottenere l'output HTML risultante sul tuo script locale in questo modo:

$result = file_get_contents('http://127.0.0.1/myfile.php'); 
+1

può essere una buona rispondi quando abbiamo due ambienti e in alcuni come abbiamo bisogno che uno di loro fornisca informazioni/servizi per l'altro. l'url potrebbe essere meglio configurabile :) Grazie Typewar – Sep