通过另一个php文件编辑php文件

时间:2012-11-03 14:49:28

标签: php database

我现在正在一个项目中工作,这是一个非常简单的数据库应用程序。用户应该上传一些php文件。然后他调用一个特定的文件 - 让它为install.html,在那里他应该输入他的根和密码来访问服务器。然后将创建一个数据库和一些表。现在,还有其他文件,也需要此信息。我考虑过包含一个connect.php。但问题是:是否可以通过另一个php文件编辑此connect.php中的根和密码?如果没有,你知道任何其他用户友好的方法来避免这个问题吗?

2 个答案:

答案 0 :(得分:1)

当然可以这样做。一般的想法是你有一个带占位符的字符串(例如像“{{username}}”和“{{password}}”),你用str_replace替换为正确的值然后写内容到file_put_contents的文件。

带有占位符的字符串可以在脚本中声明为字符串,也可以使用file_get_contents从文件中读取。所以你可以:

$replacements = array(
    '{{username}}' => 'root',
    '{{password}}' => '123456',
);
$config = file_get_contents('config.php');
$config = str_replace(array_keys($replacements),
                      array_values($replacements),
                      $config);
file_put_contents('config.php', $config);

答案 1 :(得分:0)

PHP文件只是一个文本文件。就像你可以用PHP更改文本文件一样,你也可以用PHP更改PHP文件。这只是标准文件io,请参阅FilesystemDocs

确保您可以访问该文件并且可读。还要考虑在用户使用安装脚本后如何加强他们的设置。由于安全原因,PHP文件在托管环境中应该是只读的。