我正在处理的系统有自己的安装页面来配置数据库连接。基本上,用户正在填写$_POST
等host, dbname, password
个字段。然后,一旦他继续进行,我想将所有这些变量存储在一个文件中。
最终文件应如下所示:
<?php
$config["db"]["host"] = "host";
$config["db"]["username"] = "user";
$config["db"]["password"] = "user_pass";
?>
但无论如何,输出都是这样的:
<?php
$config["db"]["host"] = "";
$config["db"]["username"] = "";
$config["db"]["password"] = "";
?>
所以似乎所有来自最后报价的数据都消失了。 这是我的代码:
$file = 'core/database.core.php';
$content = "<?php \r\n";
$content .= '$config["db"]["host"] = "' . $_POST['db_host'] . '";' . "\r\n";
$content .= '$config["db"]["username"] = "' . $_POST['db_user'] . '";' . "\r\n";
$content .= '$config["db"]["password"] = "' . $_POST['db_pass'] . '";' . "\r\n";
$content .= "?>";
file_put_contents($file, $content);
$ content变量的var转储仅输出:
string(114) ""
浏览器中的源代码显示:
string(114) "<?php
$config["db"]["host"] = "127.0.0.1";
$config["db"]["username"] = "";
$config["db"]["password"] = "";
?>"
我一直在尝试多种方式,我不知道如何才能弄清楚我想要实现的方式。有什么建议吗?
答案 0 :(得分:1)
尝试使用var_export();
$config["db"]["host"] = $_POST['db_host'];
$config["db"]["username"] = $_POST['db_user'];
$config["db"]["password"] = $_POST['db_pass'];
$content = "<?php ".PHP_EOL." \$config = ".var_export($config,true)."; ".PHP_EOL." ?>";
如果不起作用,请先检查所有字段是否设置正确!!!