Мне нужно загрузить файл 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