Поместите переменные конфигурации в файл php

1

Система, над которой я работаю, имеет собственную страницу установки для настройки подключения к базе данных. В принципе, пользователь заполняет некоторые поля $_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"] = "";
?>"

Я пытался разными способами, и я понятия не имею, как я могу понять, как правильно работать, как я хочу достичь. Какие-либо предложения?

  • 0
    тег php выполняется так.
  • 0
    Где твой код?
Показать ещё 2 комментария
Теги:
file
variables
config
file-put-contents

1 ответ

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." ?>";

Если это не работает, сначала проверьте, правильно ли установлены все поля!

  • 0
    Но то, что esel говорит об исходном коде, является вашей проблемой здесь;) Протестируйте его без первого «<? Php» в вашем коде
  • 1
    Или выведите htmlentities (var_dump ($ arr, true)); чтобы увидеть код, который вы создали.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню