编辑包含php内设置的文件

时间:2013-12-17 17:03:25

标签: php

我有一个名为config.php的文件,它存储连接到数据库的变量,(用户名,密码等)我希望能够从html表单编辑这些设置(我已经设置好了)

但是我无法找到如何从表单重新定义这些变量,我将表单发送到页面updateDatabaseSettings.php但不知道如何更改它们。

非常感谢您对此的帮助。

到目前为止我的代码:

的config.php

$DBUSER="root"; 
$DBPASS=""; 
$DBHOST="127.0.0.1"; 
$DBNAME="mydb";

updateDatabaseSettings.php

$newDBHOST = $_POST['dbhost'];
$newDBNAME = $_POST['dbname'];
$newDBUSER = $_POST['dbuser'];
$newDBPASS = $_POST['dbpass'];

假设用户输入192.168.1.2 for $ newDBHOST我想要替换$ DBHOST中的文本

由于

3 个答案:

答案 0 :(得分:3)

您的updateDatabaseSettings.php脚本需要覆盖config.php文件的内容。

一种简单的方法是构造一个包含所有新内容的字符串(包括<?php ?>标记和所有变量声明)。然后,您可以将该字符串传递给file_put_contents()以覆盖config.php文件。

请记住检查您的文件权限。您需要允许网络服务器写入config.php,否则它将无效。

答案 1 :(得分:0)

你有很多选择,所以很难说,但我会创建两个DB连接实例 - 一个默认连接和第二个变量连接。默认连接可以从config.php获取配置信息,您可以始终连接到默认数据库,第二个实例将始终直接从POST获取配置信息,并在调用POST请求时创建新连接。

此外,您可以使用全局变量,只需在需要时重写它们或直接使用PHP(look fopen,fwrite,fclose,... functions)更改config.php文件。

答案 2 :(得分:-1)

我想在updateDatabaseSettings.php中包含config.php并替换值?或者甚至将这些变量设置为全局?然后我想你必须杀死并初始化一个新的数据库连接。很难回答,需要知道你的应用程序是如何架构的。