Мне нужно загрузить файл 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');
eval()
или, если вы имеете дело с более сложным кодом: github.com/nikic/PHP-Parser .$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_get_clean ()
источник
$myvar = ob_get_clean();
(см. Документацию ob_get_clean )Если вы используете http: // , как было предложено eyze, вы сможете только прочитать вывод PHP-скрипта. Вы можете читать сам скрипт PHP, только если он находится на том же сервере, что и ваш запущенный скрипт. Затем вы можете использовать что-то вроде
источник
Если вы хотите загрузить файл, не запуская его через веб-сервер, должно работать следующее.
Это загрузит, а затем оценит содержимое файла. Файл PHP необходимо будет полностью сформирован с
<?php
и?>
теги дляeval
оценки его.источник
Теоретически вы можете просто использовать fopen, а затем использовать stream_get_contents.
Это должно прочитать весь файл в $ string для вас, а не оценивать его. Хотя я удивлен, что file_get_contents не работал, когда вы указали локальный путь ....
источник
В качестве альтернативы вы можете запустить буферизацию вывода, выполнить include / require и затем остановить буферизацию. С помощью ob_get_contents () вы можете просто получить то, что было выведено другим файлом PHP, в переменную.
источник
Если в вашем файле есть такой оператор возврата:
Вы можете получить это в такой переменной:
источник
file_get_contents () не будет работать, если на вашем сервере отключен allow_url_fopen . На большинстве общих веб-хостов он отключен по умолчанию из-за угроз безопасности. Кроме того, в PHP6 параметр allow_url_fopen больше не будет существовать, и все функции будут действовать так, как если бы он был постоянно отключен. Так что это очень плохой метод для использования.
Если вы обращаетесь к файлу через http, лучше всего использовать cURL.
источник