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

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


software:development:demo:cms:ucms:creating_file_config

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
software:development:demo:cms:ucms:creating_file_config [2025/05/10 17:16] vladpolskiysoftware:development:demo:cms:ucms:creating_file_config [2025/05/11 20:35] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 ====== 7.2. Файл config.ini ====== ====== 7.2. Файл config.ini ======
-**config.ini** - это файл конфигурации нашего приложения, мы с вами ничего записывать в него самостоятельно не будем и в конце этой главы мы его удалим. Этот файл будет создаваться при установке нашего приложением и в него будут записаны файла конфигурации.+=====Введение===== 
 +**config.ini** - это файл конфигурации нашего приложения (ядра), мы с вами ничего записывать в  
 +него самостоятельно не будем и в конце этой главы мы его удалим.  
 +Этот файл будет создаваться при установке нашего приложением и в него будут записаны файлы конфигурации.
  
-В данном случае мы создаем пустой файл **config.ini** для проверки работы логики установщика. А именно: Установщик проверит, есть ли в директории **/ucms/includes** файл **config.ini**, что будет означать, что установка уже произведена и повторная не требуется и перекинет нас на страницу авторизации, в случае отсутствия файла **config.ini** продолжиться установка.+В данном случае мы создаем пустой файл **config.ini** для проверки работы логики установщика. А именно: \\   
 +Установщик проверит, есть ли в директории **/ucms/includes** файл **config.ini**, что будет означать, что  
 +установка уже произведена и повторная не требуется и перенаправит пользователя 
 +на страницу установленой конфигурации, в случае отсутствия файла **config.ini** продолжится установка.
  
-Добавим в нашу дерикторию тестов,  тестовый файл **test_1.ini** и в него запишем следующий код:+Добавим в нашу дерикторию тестов,  тестовый файл **config_test.php** и в него запишем следующий код:
  
-<code php test_1.ini+<code php config_test.php
-<!--  test_1.ini  -->+<!--  config_test.php  -->
  
 <?php <?php
Строка 15: Строка 21:
  (а это директория ucms, записанная в файле cons.php)и добовляем   (а это директория ucms, записанная в файле cons.php)и добовляем 
  '/includes/config.php' - директорию includes и искомый файл config.ini */  '/includes/config.php' - директорию includes и искомый файл config.ini */
-    $file_config = FOLDER . '/includes/config.php'; +    $file_config = FOLDER . '/includes/config.ini'; 
- /* Если config.php существует */+ /* Если config.config.ini существует */
         if (file_exists($file_config)) {         if (file_exists($file_config)) {
  /* выводим запись о существовании */  /* выводим запись о существовании */
Строка 28: Строка 34:
 Сохраним изменения и проверим работу кода в браузере Сохраним изменения и проверим работу кода в браузере
  
-{{:software:development:demo:cms:ucms:ucms_creat_13.png?|}}+{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_11.png?|}}
  
-Заходим в директорию **includes** и перемещаем файл **config.php** в директорию **demo**+Заходим в директорию **includes** и перемещаем файл **config.ini** в директорию **demo**
  
-{{:software:development:demo:cms:ucms:ucms_creat_14.png?|}}+{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_12.png?|}}
  
-Проверим снова работу кода файла **test.php** в браузере+Проверим снова работу кода файла **config_test.php** в браузере
  
-{{:software:development:demo:cms:ucms:ucms_creat_15.png?|}}+{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_13.png?|}}
  
 Получаем сообщение: Получаем сообщение:
 Файл /volume1/web/ucms/includes/config.php **не** существует Файл /volume1/web/ucms/includes/config.php **не** существует
  
-Возвращаем файл **config.php** в директорию **includes** +В директории **includes** и в директории **/test** создаем файл **config_test_2.php** 
-<code php index.php> +<code php config_test_2.php> 
-// Создание и вызов параметров из +<!--  config_test_2.php  -->
-<?php echo "я в датабаза"; ?> +
- +
- +
 <?php  <?php 
- +// Создание и вызов параметров из .ini файла 
-//$source=file_get_contents('../../includes/config.ini'); +//////////////////////////////////////////// 
-$config = parse_ini_file("../../includes/config.ini",true); +/* задаем переменной  значение $config  
- +* parse_ini_file - обрабатывает конфигурационный файл 
- +../../includes/config.ini - путь к config.ini 
-// Find  if the ini file  is read successfully+* ,true); - обрабатываем с секциями (зпголовками) 
 +*/ 
 +$config = parse_ini_file("../includes/config.ini",true); 
 +// Проверьте, успешно ли прочитан ini-файл. 
 +// переменная $config не ровно ЛОЖЬ
 if ($config !== false) { if ($config !== false) {
-    // Access individual settings +    // Доступ к индивидуальным настройкам 
-      echo "server: " . $config['database']['server'. "\n"+  
-      echo "port: " . $config['database']['port'. "\n"+ $server $config['database']['server']; 
-      echo "username: " . $config['User']['username'. "\n";+      echo "server: " . $server . "\n"; 
 + $port = $config['database']['port']; 
 +      echo "port: " . $port . "\n";
 } else { } else {
-    echo "Read INI file Failed."; +    echo "Ошибка чтения INI-файла.";
 } }
-//password = secret 
-$lang_select = $config['User25']['password']; 
-echo $lang_select; 
  
-// Create an array of pairs+// Создаем массив пар
 $databaseSections = [ $databaseSections = [
     'server' => 'localhost',     'server' => 'localhost',
Строка 73: Строка 78:
 ]; ];
  
-// Write configuration to the 'database' section +// Записать конфигурацию в раздел «'database'» 
-$success = write_to_ini($databaseSections, 'database', 'result.ini');+$success = write_to_ini($databaseSections, 'database', '../includes/config.ini');
  
-// Check if the write-to file successful+// Проверим, успешно ли выполнена запись в файл.
 if ($success) { if ($success) {
-    echo "Write to file successfully!";+    echo "Запись в файл прошла успешно!";
 } else { } else {
-    echo "Write INI file Failed.";+    echo "Ошибка записи INI-файла.";
 } }
-// Function to write settings to a specific section in an INI file+// Функция записи настроек в определенный раздел INI-файла
 function write_to_ini($config, $section, $file) { function write_to_ini($config, $section, $file) {
     $content = "\n; Application Configuration Settings\n\n[$section]\n; Configuration\n";     $content = "\n; Application Configuration Settings\n\n[$section]\n; Configuration\n";
Строка 90: Строка 95:
     }     }
  
-    // Append content to file+    // Добавить содержимое в файл
     return file_put_contents($file, $content, FILE_APPEND) !== false;     return file_put_contents($file, $content, FILE_APPEND) !== false;
-}+}
 </code> </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**
 +
 <note blue> <note blue>
 <wrap left>← [[software:development:demo:cms:ucms:creating_file_cons|7.1. Файл 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_function|7.3. Файл function.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.1746886605.txt.gz · Последнее изменение: vladpolskiy