Antworten:
Ich nehme an, Sie möchten den von PHP generierten Inhalt erhalten , wenn ja:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
Andernfalls entspricht der Quellcode der PHP-Datei einer TXT-Datei:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()
oder wenn Sie mit komplizierterem Code arbeiten: 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();
(siehe ob_get_clean Dokumentation )
Wenn Sie http: // verwenden , wie von eyze vorgeschlagen, können Sie nur die Ausgabe des PHP-Skripts lesen. Sie können das PHP-Skript selbst nur lesen, wenn es sich auf demselben Server befindet wie Ihr laufendes Skript. Sie könnten dann so etwas verwenden
$Vdata = file_get_contents('/path/to/your/file.php");
Wenn Sie die Datei laden möchten, ohne sie über den Webserver auszuführen, sollte Folgendes funktionieren.
$string = eval(file_get_contents("file.php"));
Dadurch wird der Dateiinhalt geladen und ausgewertet. Die PHP-Datei muss vollständig mit <?php
und ?>
Tags erstellt werden, damit eval
sie ausgewertet werden kann.
Theoretisch könnten Sie einfach fopen und dann stream_get_contents verwenden.
$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);
Das sollte die gesamte Datei für Sie in $ string einlesen und nicht auswerten. Obwohl ich überrascht bin, dass file_get_contents nicht funktioniert hat, als Sie den lokalen Pfad angegeben haben ...
Alternativ können Sie die Ausgabepufferung starten, ein Include / Require ausführen und dann die Pufferung beenden. Mit ob_get_contents () können Sie einfach das Material, das von dieser anderen PHP-Datei ausgegeben wurde, in eine Variable übertragen.
Wenn Ihre Datei eine return-Anweisung wie folgt hat:
<?php return array(
'AF' => 'Afeganistão',
'ZA' => 'África do Sul',
...
'ZW' => 'Zimbabué'
);
Sie können dies zu einer Variablen wie dieser bringen:
$data = include $filePath;
file_get_contents () funktioniert nicht, wenn auf Ihrem Server allow_url_fopen deaktiviert ist . Bei den meisten gemeinsam genutzten Webhosts ist diese aus Sicherheitsgründen standardmäßig deaktiviert. In PHP6 ist außerdem allow_url_fopen Option nicht mehr vorhanden und alle Funktionen verhalten sich so, als ob sie dauerhaft deaktiviert sind. Dies ist also eine sehr schlechte Methode.
Die beste Option, wenn Sie über http auf die Datei zugreifen, ist cURL