Вот мой файл конфигурации:
<?php #config variables $host = ''; #your database host $user = ''; #your database username $password = ''; #your database password $database = ''; #your database title $page_title = ''; #this appears at the top of the webpage and in the browser tab/window. $tbl_prefix = ''; #the prefix on your database tables. $installed = false; #if false, you'll be redirected to an installation page. if($installed == false) { header('Location: install/index.php'); } else { #connect to db $consult_err = ' Consult <a href="lib/sqlerrors.html">lib/sqlerrors.html</a>'; $connect = @mysql_connect($host, $user, $password) or die('Errno(1) - Invalid connection details.' . $consult_err); @mysql_select_db($database, $connect) or die('Errno(2) - Couldn\'t connect to database.' . $consult_err); #select database } ?>
У меня есть сценарий установки, который получает все переменные выше от пользователя, проверяет, есть ли соединение mySQL / база данных и создает некоторые таблицы. Тем не менее, я не нашел хороший способ редактировать вышеуказанный файл с помощью ввода пользователем.
Я скорее зациклен на том, куда идти отсюда, но мне нужен конечный результат, чтобы принимать входные данные из формы, а переменные в файле конфигурации отражают этот вход.
Какие-либо предложения?
Я думаю, что это приведет только к очень сложному, извилистом пути. Могу ли я рекомендовать использовать пакет конфигурации PEAR? Он может создавать, обрабатывать и читать файлы конфигурации в INI, массиве PHP или постоянном, XML или общем формате .
Другой вариант – сохранить только значения, которые очень редко изменяются (например, информация о подключении к базе данных) в файле конфигурации, а затем сохраняют остальные параметры конфигурации в базе данных. Вот как это делают большинство более крупных PHP-приложений, я полагаю (я думаю о WordPress конкретно). Пользователям придется вручную отредактировать файл, если они захотят изменить эти параметры, но поскольку более часто изменяемые параметры находятся в базе данных (и это легко подключить к вашей форме конфигурации), их очень редко придется редактировать файл.
Вы можете использовать функции файловой системы PHP, чтобы открыть файл и записать измененную версию.