将配置变量放入php文件中
我正在使用的系统有自己的安装页面来配置数据库连接。基本上,用户正在填写一些将配置变量放入php文件中,php,file,variables,config,file-put-contents,Php,File,Variables,Config,File Put Contents,我正在使用的系统有自己的安装页面来配置数据库连接。基本上,用户正在填写一些$\u POST字段,如主机、数据库名、密码等。。一旦他继续,我想把所有这些变量存储在一个文件中 最终文件应如下所示: <?php $config["db"]["host"] = "host"; $config["db"]["username"] = "user"; $config["db"]["password"] = "user_pass"; ?> <?php $c
$\u POST
字段,如主机、数据库名、密码等。。一旦他继续,我想把所有这些变量存储在一个文件中
最终文件应如下所示:
<?php
$config["db"]["host"] = "host";
$config["db"]["username"] = "user";
$config["db"]["password"] = "user_pass";
?>
<?php
$config["db"]["host"] = "";
$config["db"]["username"] = "";
$config["db"]["password"] = "";
?>
我已经尝试了很多方法,但我不知道如何才能找到我想要实现的方法。有什么建议吗?尝试使用var_export()
$config[“db”][“host”]=$\u POST['db\u host'];
$config[“db”][“username”]=$\u POST['db\u user'];
$config[“db”][“password”]=$\u POST['db\u pass'];
$content=“”;
如果这不起作用,首先检查所有字段是否设置正确 php标记正在执行,所以var dump显示$content是一个由114个字符组成的字符串。您看不到内容的原因是,您可能在浏览器中查看此内容,其中不显示任何内容。在浏览器中打开源代码。还要尝试执行var_dump($_POST)以确保正确传输POST数据。@esel$_POST数据包含它应该包含的所有内容。事实上,是的-浏览器中的源代码显示了它。主帖子已编辑。但esel关于源代码的说法是您的问题;)在没有第一个“或不打印htmlentities”(var_dump($arr,true))的情况下测试它;要查看您创建的代码,建议您查看文本文件,而不要试图让html表现得像这样:header('Content-Type:text/plain')
text@birdspider这只是一个开发/调试提示;)
$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);
string(114) "<?php
$config["db"]["host"] = "127.0.0.1";
$config["db"]["username"] = "";
$config["db"]["password"] = "";
?>"
$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." ?>";