0

让我们直接进入它。

索引.php

<?php
    ...
    $url = "www.google.com";
    $val = "Is PHP better than Perl?";
    $file = file_get_contents("mixedcontent.txt");
    print eval("?>" . $file . "<?");
    ...
?>

混合内容.txt

<html>
...
    <form action="<?php echo $url; ?>">
        <input id="q" type="text" value="<?php echo $val; ?>"/>
    </form>
...
</html>

由于它所依赖的商业软件的限制,这两个文件就像存根一样,并且需要分开。

现在,我意识到 eval 被许多人视为最后的手段,并且大多数人建议重新设计,因为 eval 可能存在安全风险。是否有使用 eval 动态评估混合内容(即 html + php)的替代方法?我可以以某种方式利用 create_function 或 call_user_func 吗?

谢谢你。

更新

根据评论和答案部分中的建议,用于这种特定类型的示例,我修改了代码:

索引.php

索引.php

<?php
    ...
    $url = "www.google.com";
    $val = "Is PHP better than Perl?";
    include("mixedcontent.txt");
    ...
?>

看起来它运作良好。非常感谢大家。

4

1 回答 1

1

我同意 Jaredinclude的观点,这是要走的路,但如果你不想使用它或者它不适合你。那么您可以尝试关注,我认为这是更好的选择

http://www.php.net/manual/en/function.eval.php#108091

于 2013-05-03T07:05:54.643 回答