Risposte:
Suppongo che tu voglia ottenere il contenuto generato da PHP , in tal caso usa:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
Altrimenti, se vuoi ottenere il codice sorgente del file PHP , è lo stesso di un file .txt:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()o se hai a che fare con codice più complicato: github.com/nikic/PHP-Parser .
$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_start();
include "yourfile.php";
$myvar = ob_get_clean();
$myvar = ob_get_clean();(vedi la documentazione ob_get_clean )
Se stai usando http: // , come suggerito da eyze, sarai in grado di leggere solo l'uscita dello script PHP. Puoi leggere lo script PHP stesso solo se si trova sullo stesso server dello script in esecuzione. Potresti quindi usare qualcosa di simile
$Vdata = file_get_contents('/path/to/your/file.php");
Se vuoi caricare il file senza eseguirlo attraverso il webserver, dovrebbe funzionare quanto segue.
$string = eval(file_get_contents("file.php"));
Questo caricherà quindi valuterà il contenuto del file. Il file PHP dovrà essere completamente formato con tag <?phpe ?>per evalvalutarlo.
Teoricamente potresti semplicemente usare fopen, quindi usare stream_get_contents.
$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);
Questo dovrebbe leggere l'intero file in $ string per te e non dovrebbe valutarlo. Anche se sono sorpreso che file_get_contents non abbia funzionato quando hai specificato il percorso locale ...
In alternativa, è possibile avviare il buffering dell'output, eseguire un'inclusione / richiesta e quindi interrompere il buffering. Con ob_get_contents (), puoi semplicemente ottenere il materiale che è stato emesso da quell'altro file PHP in una variabile.
Se il tuo file ha una dichiarazione di ritorno come questa:
<?php return array(
'AF' => 'Afeganistão',
'ZA' => 'África do Sul',
...
'ZW' => 'Zimbabué'
);
Puoi ottenerlo a una variabile come questa:
$data = include $filePath;
file_get_contents () non funzionerà se il tuo server ha allow_url_fopen disattivato. La maggior parte degli host web condivisi lo hanno disattivato per impostazione predefinita a causa di rischi per la sicurezza. Inoltre, in PHP6 , il file allow_url_fopen opzione non esisterà più e tutte le funzioni agiranno come se fosse permanentemente disattivata. Quindi questo è un pessimo metodo da usare.
La tua migliore opzione da usare se stai accedendo al file tramite http è cURL