Система, над которой я работаю, имеет собственную страницу установки для настройки подключения к базе данных. В принципе, пользователь заполняет некоторые поля $_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);
Var dump переменной $ content выводит только это:
string(114) ""
Исходный код в браузере показывает это:
string(114) "<?php
$config["db"]["host"] = "127.0.0.1";
$config["db"]["username"] = "";
$config["db"]["password"] = "";
?>"
Я пытался разными способами, и я понятия не имею, как я могу понять, как правильно работать, как я хочу достичь. Какие-либо предложения?
Попробуйте использовать 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." ?>";
Если это не работает, сначала проверьте, правильно ли установлены все поля!