不使用数据库永久保存php变量

不使用数据库永久保存php变量,php,database,variables,save,hardcoded,Php,Database,Variables,Save,Hardcoded,在我的站点的管理区域中有一个表单,用于站点使用的mysql数据库的主机名、用户名和密码。目前,这些值被硬编码到一个php类中。但是我可以链接谁,这样表单就可以编辑php类中的变量(并将结果保存在服务器上,换句话说,变量是硬编码的)。我通常会将类似的内容保存在数据库中,但显然这是无法做到的。创建一个配置文件,并授予您的web服务器对它的写访问权限。然后,只需编写一个脚本,将DB配置保存到此文件中。例如 $fh = fopen('config.php', 'w'); fwrite($fh, chr(

在我的站点的管理区域中有一个表单,用于站点使用的mysql数据库的主机名、用户名和密码。目前,这些值被硬编码到一个php类中。但是我可以链接谁,这样表单就可以编辑php类中的变量(并将结果保存在服务器上,换句话说,变量是硬编码的)。我通常会将类似的内容保存在数据库中,但显然这是无法做到的。

创建一个配置文件,并授予您的web服务器对它的写访问权限。然后,只需编写一个脚本,将DB配置保存到此文件中。例如

$fh = fopen('config.php', 'w');
fwrite($fh, chr(60) . "?php\n");
fwrite($fh, sprintf("define('DB_HOST', '%s');\n", addslashes($_POST['DB_HOST'])));
fwrite($fh, sprintf("define('DB_USER', '%s');\n", addslashes($_POST['DB_USER'])));
fwrite($fh, sprintf("define('DB_PASS', '%s');\n", addslashes($_POST['DB_PASS'])));
fclose($fh);

将这些值保存在配置文件中。并确保它不能从网络上访问


最简单的解决方案是将值保存在配置数组中-用户输入值,然后从中生成一个数组,然后
file\u put\u contents(“config.php”,"如果我第一次创建配置文件后就想修改它,那么它是如何工作的呢?您将把配置文件创建代码放在另一个脚本中,比如editconfig.php。如果我第一次创建配置文件后就想修改它,那么它是如何工作的呢。@Jonathan如果您修改了已经加载的
$config
数组,那么请执行以下操作
文件将内容再次放入部分。可能是重复的哦,别那么迂腐,这是关于写文件,而不是阅读文件。