software:development:demo:cms:ucms:creating_file_config
                Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:development:demo:cms:ucms:creating_file_config [2025/05/01 21:46] – vladpolskiy | 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> | ||
| + | </ | ||
