Инструменты пользователя

Инструменты сайта


software:development:demo:cms:ucms:creating_file_config

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
software:development:demo:cms:ucms:creating_file_config [2025/04/27 15:02] – создано vladpolskiysoftware:development:demo:cms:ucms:creating_file_config [2025/05/11 20:35] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-====== 8.3. Файл config.php ====== +====== 7.2. Файл config.ini ====== 
-**config.php** - это файл конфигурации нашего приложения, мы с вами ничего записывать в него самостоятельно не будем и в конце этой главы мы его удалим. Этот файл будет создаваться при установке нашего приложением и в него будут записаны файла конфигурации.+=====Введение===== 
 +**config.ini** - это файл конфигурации нашего приложения (ядра), мы с вами ничего записывать в  
 +него самостоятельно не будем и в конце этой главы мы его удалим.  
 +Этот файл будет создаваться при установке нашего приложением и в него будут записаны файлы конфигурации. 
 + 
 +В данном случае мы создаем пустой файл **config.ini** для проверки работы логики установщика. А именно: \\   
 +Установщик проверит, есть ли в директории **/ucms/includes** файл **config.ini**, что будет означать, что  
 +установка уже произведена и повторная не требуется и перенаправит пользователя 
 +на страницу установленой конфигурации, в случае отсутствия файла **config.ini** продолжится установка. 
 + 
 +Добавим в нашу дерикторию тестов,  тестовый файл **config_test.php** и в него запишем следующий код: 
 + 
 +<code php config_test.php> 
 +<!--  config_test.php  --> 
 + 
 +<?php 
 + /* Подключем файл cons.php из директории includes  */ 
 +    include "../includes/cons.php"; 
 + /* Присваиваем переменной $file_config значение константы FOLDER  
 + (а это директория ucms, записанная в файле cons.php)и добовляем  
 + '/includes/config.php' - директорию includes и искомый файл config.ini */ 
 +    $file_config = FOLDER . '/includes/config.ini'; 
 + /* Если config.config.ini существует */ 
 +        if (file_exists($file_config)) { 
 + /* выводим запись о существовании */ 
 + echo "Файл $file_config существует"; 
 + /* Иначе выводим запись о существовании*/ 
 + } else { 
 + echo "Файл $file_config не существует"; 
 +
 +?>  
 +</code> 
 +Сохраним изменения и проверим работу кода в браузере 
 + 
 +{{: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** 
 +<code php config_test_2.php> 
 +<!--  config_test_2.php  --> 
 +<?php  
 +// Создание и вызов параметров из .ini файла 
 +//////////////////////////////////////////// 
 +/* задаем переменной  значение $config  
 +* parse_ini_file - обрабатывает конфигурационный файл 
 +* ../../includes/config.ini - путь к config.ini 
 +* ,true); - обрабатываем с секциями (зпголовками) 
 +*/ 
 +$config = parse_ini_file("../includes/config.ini",true); 
 +// Проверьте, успешно ли прочитан ini-файл. 
 +// переменная $config не ровно ЛОЖЬ 
 +if ($config !== false) { 
 +    // Доступ к индивидуальным настройкам 
 +  
 + $server = $config['database']['server']; 
 +      echo "server: " . $server . "\n"; 
 + $port = $config['database']['port']; 
 +      echo "port: " . $port . "\n"; 
 +} else { 
 +    echo "Ошибка чтения INI-файла.";  
 +
 + 
 +// Создаем массив пар 
 +$databaseSections = [ 
 +    'server' => '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; 
 +}  
 +</code> 
 +=== Запись данных в **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**
  
-В данном случае мы создаем пустой файл **config.php** для проверки работы логики установщика. А именно: Установщик проверит, есть ли в директории **/ucms/includes** файл **config.php**, что будет означать, что установка уже произведена и повторная не требуется и перекинет нас на страницу авторизации, в случае отсутствия файла **config.php** продолжиться установка. 
 <note blue> <note blue>
-<wrap left>← [[software:development:demo:cms:ucms:creating_file_cons|8.2. Файл cons.php]]</wrap>  +<wrap left>← [[software:development:demo:cms:ucms:creating_file_cons|7.1. Файл cons.php]]</wrap>  
-<wrap right>[[software:development:demo:cms:ucms:creating_file_server_check|8.4. Файл server_check.php]] →</wrap>+<wrap right>[[software:development:demo:cms:ucms:creating_file_function|7.3. Файл function.php]] →</wrap>
 </note> </note>
software/development/demo/cms/ucms/creating_file_config.1745755365.txt.gz · Последнее изменение: vladpolskiy