从另一个文件执行php

时间:2009-08-28 12:28:17

标签: php templates

我有1个模板文件,它包含在主文件中。

some.template

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

在主文件中我将文件读入1变量并显示它。当然,php脚本不会在那里运行。我怎么能这样做,我想要什么?

由于

3 个答案:

答案 0 :(得分:4)

您可以使用include来阅读和处理文件。如果您需要对结果进行后处理(我认为这可能是您将模板读入变量的原因)请尝试output buffering

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

如果您需要在进行PHP处理之前修改模板,则必须使用eval。但是出于明显的安全原因以及可能不那么明显的性能原因,我建议你非常小心。如果您只需要替换某些变量,则应考虑使用模板引擎或使用preg_replace之类的简单方法。

答案 1 :(得分:0)

不要将文件读入变量,而是执行

 include 'some.template';

答案 2 :(得分:0)

由于您希望在使用之前编辑脚本,因此实际执行此操作的唯一方法是使用:

eval($string);

我确信如果您重视安全性,我不需要告诉您不要使用用户输入。