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

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

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

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

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

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

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

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

 $Vdata = file_get_contents('path/to/YOUR/FILE.php'); 
 ob_start(); include "yourfile.php"; $myvar = ob_get_clean(); 

ob_get_clean ()

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

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

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

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

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

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

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

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

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

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

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