Как загрузить файл PHP в переменную?

Мне нужно загрузить файл PHP в переменную. Как include();

Я загрузил простой HTML файл следующим образом:

$Vdata = file_get_contents("textfile.txt");

Но теперь мне нужно загрузить файл PHP.

Ответ 1

Я предполагаю, что вы хотите получить контент, сгенерированный PHP, если это так:

$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');

В противном случае, если вы хотите получить исходный код файла PHP, он будет таким же, как файл .txt:

$Vdata = file_get_contents('path/to/YOUR/FILE.php');

Ответ 2

ob_start();
include "yourfile.php";
$myvar = ob_get_clean();

ob_get_clean()

Ответ 3

Если вы используете http://, как было предложено ослепительно, вы сможете прочитать только вывод PHP скрипт. Вы можете читать только PHP скрипт, если он находится на том же сервере, что и ваш запуск script. Затем вы можете использовать что-то вроде

$Vdata = file_get_contents('/path/to/your/file.php");

Ответ 4

Если вы хотите загрузить файл, не запуская его через веб-сервер, должно работать следующее.

$string = eval(file_get_contents("file.php"));

Затем загрузится содержимое файла. Файл PHP должен быть полностью сформирован с тегами <?php и ?> для eval, чтобы оценить его.

Ответ 5

Теоретически вы можете просто использовать fopen, а затем использовать stream_get_contents.

$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);

Это должно прочитать весь файл в $string для вас и не должно его оценивать. Хотя я удивлен, что file_get_contents не работает, когда вы указали локальный путь....

Ответ 6

В качестве альтернативы вы можете начать буферизацию вывода, включить include/require и затем остановить буферизацию. С ob_get_contents() вы можете просто получить материал, который был выдан другим файлом PHP в переменную.

Ответ 7

file_get_contents() не будет работать, если ваш сервер allow_url_fopen отключен. Большинство общих веб-хостов отключено по умолчанию из-за рисков безопасности. Кроме того, в PHP6 опция allow_url_fopen больше не будет существовать, и все функции будут действовать так, как если бы она постоянно была отключена. Так что это очень плохой метод для использования.

Ваш лучший вариант использования, если вы просматриваете файл через http, - cURL