Как загрузить PHP-файл в переменную?
мне нужно загрузить PHP-файл в переменную. Как include();
Я загрузил простой HTML-файл, как это:
$Vdata = file_get_contents("textfile.txt");
но теперь мне нужно загрузить PHP-файл.
8 ответов:
Я полагаю, вы хотите получить контент, сгенерированный PHP, если так использовать:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
в противном случае, если вы хотите получить исходный код PHP файла, это то же самое, что и a .текстовый файл:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
Если вы используете http://, как предположил эйз, вы сможете прочитать только выход 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 не работал, когда вы указали локальный путь....
кроме того, вы можете запустить буферизацию вывода, включить/потребовать, а затем остановить буферизацию. С ob_get_contents () вы можете просто получить материал, который был выведен этим другим файлом PHP в переменную.
функции file_get_contents() не будет работать, если ваш сервер имеет allow_url_fopen выключил. Большинство общих веб-узлов отключены по умолчанию из-за угроз безопасности. Кроме того, в PHP6 на allow_url_fopen опция больше не будет существовать, и все функции будут действовать так, как будто она постоянно отключена. Так что это очень плохой способ.
ваш лучший вариант использовать, если вы получаете доступ к файлу через http является cURL