Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将配置变量放入php文件中_Php_File_Variables_Config_File Put Contents - Fatal编程技术网

将配置变量放入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." ?>";