====== 7.2. Файл config.ini ====== =====Введение===== **config.ini** - это файл конфигурации нашего приложения (ядра), мы с вами ничего записывать в него самостоятельно не будем и в конце этой главы мы его удалим. Этот файл будет создаваться при установке нашего приложением и в него будут записаны файлы конфигурации. В данном случае мы создаем пустой файл **config.ini** для проверки работы логики установщика. А именно: \\ Установщик проверит, есть ли в директории **/ucms/includes** файл **config.ini**, что будет означать, что установка уже произведена и повторная не требуется и перенаправит пользователя на страницу установленой конфигурации, в случае отсутствия файла **config.ini** продолжится установка. Добавим в нашу дерикторию тестов, тестовый файл **config_test.php** и в него запишем следующий код: Сохраним изменения и проверим работу кода в браузере {{:software:development:demo:cms:ucms:ucms_kernel_demo_book_11.png?|}} Заходим в директорию **includes** и перемещаем файл **config.ini** в директорию **demo** {{:software:development:demo:cms:ucms:ucms_kernel_demo_book_12.png?|}} Проверим снова работу кода файла **config_test.php** в браузере {{:software:development:demo:cms:ucms:ucms_kernel_demo_book_13.png?|}} Получаем сообщение: Файл /volume1/web/ucms/includes/config.php **не** существует В директории **includes** и в директории **/test** создаем файл **config_test_2.php** 'localhost', 'port' => 3000, ]; // Записать конфигурацию в раздел «'database'» $success = write_to_ini($databaseSections, 'database', '../includes/config.ini'); // Проверим, успешно ли выполнена запись в файл. if ($success) { echo "Запись в файл прошла успешно!"; } else { echo "Ошибка записи INI-файла."; } // Функция записи настроек в определенный раздел INI-файла function write_to_ini($config, $section, $file) { $content = "\n; Application Configuration Settings\n\n[$section]\n; Configuration\n"; foreach ($config as $key => $value) { $content .= "$key = $value\n"; } // Добавить содержимое в файл return file_put_contents($file, $content, FILE_APPEND) !== false; } === Запись данных в **config.ini** === Откроем файл **config_test_2.php** в браузере {{:software:development:demo:cms:ucms:ucms_kernel_demo_book_14.png?|}} Мы видим сообщение "Ошибка чтения INI-файла." и "Запись в файл прошла успешно!" === Чтение данных из **config.ini** === Обновим страницу веб-браузера {{:software:development:demo:cms:ucms:ucms_kernel_demo_book_15.png?|}} файл **config.ini** в директории **/includes** создан и выводится значения переменных **$server** и **$port** в сообщении: server: **localhost** port: **3000** Откроем созданный файл **config.ini** в блокноте {{:software:development:demo:cms:ucms:ucms_kernel_demo_book_16.png?|}} Мы видем записи нашего массива в файле. Перемещаем **config.ini** в директорию **demo** ← [[software:development:demo:cms:ucms:creating_file_cons|7.1. Файл cons.php]] [[software:development:demo:cms:ucms:creating_file_function|7.3. Файл function.php]] →