繁体   English   中英

如何从外部文件显示/执行PHP?

[英]How to display/execute PHP from an external file?

我有2个档案。

test.zt带有很多PHP和HTML的内容。

index.php ,其中包含test.zt以显示其内容。


我现在想做的是将test.zt内容加载到一个变量中(或者可以临时编辑的内容)。 完成后,我想使用str_replace()函数临时更改test.zt文件中的某些文本。 我不想覆盖原始的test.zt源文件。

之后,我想向访问者显示更改后的文件的内容。

注意:该代码包含PHP代码,并且页面也需要执行该PHP代码。

我已经尝试过使用file_get_contents()打开文件,然后回显内容,但是它没有执行内容的PHP端。

是否有可能实现这一目标?

基本上,您是在询问eval作用。 但是在使用该功能之前,请先对存在的缺点进行一些研究。

与其使用str_replace来“更改某些文本”,不如应该包括一个普通的PHP文件,并使用主脚本中的变量来输出需要动态的内容。

运行页面时,获取test.tz的内容,对其进行更改,将其写入临时文件中的磁盘,并包含该临时文件,然后将其删除。 或者,只要它不包含任何重要内容,就可以保留它并继续覆盖它。

您的问题如此含糊,尽管很难给出一个很好的答案。

您是否尝试过php eval函数?

$data = file_get_contents('test.zt');
eval($data);

注意:

eval()语言构造非常危险,因为它允许执行任意PHP代码。 因此不鼓励使用它。 如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意不要在未经适当验证的情况下将任何用户提供的数据传递到其中。

您可能正在寻找:

ob_start();
include "test.zt";
$contents = ob_get_contents();
ob_end_clean();

echo str_replace("some", "text", $contents);

这是PHP手册条目: http : //php.net/manual/en/function.ob-get-contents.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM