software:development:demo:cms:ucms:creating_file_config
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
software:development:demo:cms:ucms:creating_file_config [2025/05/01 14:04] – внешнее изменение 127.0.0.1 | software:development:demo:cms:ucms:creating_file_config [2025/05/11 20:35] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== 7.2. Файл config.ini ====== | ||
+ | =====Введение===== | ||
+ | **config.ini** - это файл конфигурации нашего приложения (ядра), мы с вами ничего записывать в | ||
+ | него самостоятельно не будем и в конце этой главы мы его удалим. | ||
+ | Этот файл будет создаваться при установке нашего приложением и в него будут записаны файлы конфигурации. | ||
+ | В данном случае мы создаем пустой файл **config.ini** для проверки работы логики установщика. А именно: | ||
+ | Установщик проверит, | ||
+ | установка уже произведена и повторная не требуется и перенаправит пользователя | ||
+ | на страницу установленой конфигурации, | ||
+ | |||
+ | Добавим в нашу дерикторию тестов, | ||
+ | |||
+ | <code php config_test.php> | ||
+ | < | ||
+ | |||
+ | <?php | ||
+ | /* Подключем файл cons.php из директории includes | ||
+ | include " | ||
+ | /* Присваиваем переменной $file_config значение константы FOLDER | ||
+ | (а это директория ucms, записанная в файле cons.php)и добовляем | ||
+ | '/ | ||
+ | $file_config = FOLDER . '/ | ||
+ | /* Если config.config.ini существует */ | ||
+ | if (file_exists($file_config)) { | ||
+ | /* выводим запись о существовании */ | ||
+ | echo " | ||
+ | /* Иначе выводим запись о существовании*/ | ||
+ | } else { | ||
+ | echo " | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | Сохраним изменения и проверим работу кода в браузере | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Заходим в директорию **includes** и перемещаем файл **config.ini** в директорию **demo** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Проверим снова работу кода файла **config_test.php** в браузере | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Получаем сообщение: | ||
+ | Файл / | ||
+ | |||
+ | В директории **includes** и в директории **/test** создаем файл **config_test_2.php** | ||
+ | <code php config_test_2.php> | ||
+ | < | ||
+ | <? | ||
+ | // Создание и вызов параметров из .ini файла | ||
+ | //////////////////////////////////////////// | ||
+ | /* задаем переменной | ||
+ | * parse_ini_file - обрабатывает конфигурационный файл | ||
+ | * ../ | ||
+ | * ,true); - обрабатываем с секциями (зпголовками) | ||
+ | */ | ||
+ | $config = parse_ini_file(" | ||
+ | // Проверьте, | ||
+ | // переменная $config не ровно ЛОЖЬ | ||
+ | if ($config !== false) { | ||
+ | // Доступ к индивидуальным настройкам | ||
+ | |||
+ | $server = $config[' | ||
+ | echo " | ||
+ | $port = $config[' | ||
+ | echo "port: " . $port . " | ||
+ | } else { | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | // Создаем массив пар | ||
+ | $databaseSections = [ | ||
+ | ' | ||
+ | ' | ||
+ | ]; | ||
+ | |||
+ | // Записать конфигурацию в раздел «' | ||
+ | $success = write_to_ini($databaseSections, | ||
+ | |||
+ | // Проверим, | ||
+ | if ($success) { | ||
+ | echo " | ||
+ | } else { | ||
+ | echo " | ||
+ | } | ||
+ | // Функция записи настроек в определенный раздел INI-файла | ||
+ | function write_to_ini($config, | ||
+ | $content = "\n; Application Configuration Settings\n\n[$section]\n; | ||
+ | |||
+ | foreach ($config as $key => $value) { | ||
+ | $content .= "$key = $value\n"; | ||
+ | } | ||
+ | |||
+ | // Добавить содержимое в файл | ||
+ | return file_put_contents($file, | ||
+ | } | ||
+ | </ | ||
+ | === Запись данных в **config.ini** === | ||
+ | Откроем файл **config_test_2.php** в браузере | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Мы видим сообщение " | ||
+ | |||
+ | === Чтение данных из **config.ini** === | ||
+ | |||
+ | Обновим страницу веб-браузера | ||
+ | |||
+ | {{: | ||
+ | |||
+ | файл **config.ini** в директории **/ | ||
+ | **$server** и **$port** в сообщении: | ||
+ | |||
+ | Откроем созданный файл **config.ini** в блокноте | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Мы видем записи нашего массива в файле. Перемещаем **config.ini** в директорию **demo** | ||
+ | |||
+ | <note blue> | ||
+ | <wrap left>← [[software: | ||
+ | <wrap right> | ||
+ | </ |