Выполнение php из другого файла - PullRequest
0 голосов
/ 28 августа 2009

У меня есть 1 шаблон-файл, который входит в основной файл.

some.template

...
<?php echo '!'; ?>
...

в основном файле я читаю файл в 1 переменную и отображаю его. Конечно, php скрипт там не запускается. Как я могу это сделать, что я хочу?

Спасибо

Ответы [ 3 ]

4 голосов
/ 28 августа 2009

Вы можете использовать include для чтения и обработки файла. Если вам нужно постобработать результат (я полагаю, это может послужить причиной для чтения шаблона в переменную), попробуйте буферизация вывода :

ob_start();
include 'some.template';
$out = ob_get_clean();
echo $out;

Если вам нужно изменить шаблон до того, как обработает его в PHP, вам придется прибегнуть к eval . Но я бы посоветовал вам быть очень осторожным с этим по очевидным соображениям безопасности и, возможно, не столь очевидным причинам производительности. Если вам просто нужно заменить некоторые переменные, вам следует рассмотреть возможность использования механизма шаблонов или простых средств, таких как preg_replace .

0 голосов
/ 28 августа 2009

Поскольку вы хотите отредактировать скрипт перед его использованием, единственный способ сделать это практически - использовать:

eval($string);

Я уверен, что мне не нужно указывать вам не делать этого с пользовательским вводом, если вы вообще цените безопасность.

0 голосов
/ 28 августа 2009

Не читать файл в переменную, вместо этого

 include 'some.template';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...