有没有可能用PHP语言本身写一个常规的PHP文件?
这是否与编写.txt文件相同?
或者还有什么我应该知道的?
每当我将一条记录保存到数据库中时,我都想覆盖相同的文件myConfig.php,它应该包含如下内容:
<?php
$myVar = "myValue";
?>发布于 2011-12-06 02:32:59
编写php文件与编写其他文本文件没有什么不同。实现这一点的一种方法是使用file_put_contents()。类似于下面这样的东西应该可以工作:
file_put_contents('myConfig.php', "<?php
\$myVar = \"myValue\";
?>");您必须确保运行php的用户拥有在给定目录中写入文件的权限。这是一个常见的陷阱。如果它不工作,请检查您的错误日志中的权限错误。
另外,基于从数据库加载数据而动态编写php代码可能会导致安全漏洞。具体地说,它可能允许恶意用户将任意php代码插入并执行您的系统。如果数据库中的数据来自用户填写的web表单,这一点尤其正确。慎重其事。验证、清理并正确编码所有的动态值。实际上,最好的做法是退一步,重新考虑你的设计。你真的需要把这些配置文件动态地写成php文件吗?你能用ini文件代替吗?(提示:parse_ini_file())。或者,您是否可以直接使用数据库中的配置值,而无需编写文件?
发布于 2011-12-06 02:35:15
如果您的权限是正确的,它应该可以很好地工作:
<?php
file_put_contents('selfwrite2.php',<<<END
<?php echo "Hello World!";
END
);
include 'selfwrite2.php';https://stackoverflow.com/questions/8390055
复制相似问题