Это старая версия документа!
7.2. Файл config.ini
config.ini - это файл конфигурации нашего приложения, мы с вами ничего записывать в него самостоятельно не будем и в конце этой главы мы его удалим. Этот файл будет создаваться при установке нашего приложением и в него будут записаны файла конфигурации.
В данном случае мы создаем пустой файл config.ini для проверки работы логики установщика. А именно: Установщик проверит, есть ли в директории /ucms/includes файл config.ini, что будет означать, что установка уже произведена и повторная не требуется и перекинет нас на страницу авторизации, в случае отсутствия файла config.ini продолжиться установка.
Добавим в нашу дерикторию тестов, тестовый файл test_1.ini и в него запишем следующий код:
- test_1.ini
<!-- test_1.ini --> <?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.php'; /* Если config.php существует */ if (file_exists($file_config)) { /* выводим запись о существовании */ echo "Файл $file_config существует"; /* Иначе выводим запись о существовании*/ } else { echo "Файл $file_config не существует"; } ?>
Сохраним изменения и проверим работу кода в браузере
Заходим в директорию includes и перемещаем файл config.php в директорию demo
Проверим снова работу кода файла test.php в браузере
Получаем сообщение: Файл /volume1/web/ucms/includes/config.php не существует
Возвращаем файл config.php в директорию includes
- index.php
// Создание и вызов параметров из <?php echo "я в датабаза"; ?> <?php //$source=file_get_contents('../../includes/config.ini'); $config = parse_ini_file("../../includes/config.ini",true); // Find if the ini file is read successfully if ($config !== false) { // Access individual settings echo "server: " . $config['database']['server'] . "\n"; echo "port: " . $config['database']['port'] . "\n"; echo "username: " . $config['User']['username'] . "\n"; } else { echo "Read INI file Failed."; } //password = secret $lang_select = $config['User25']['password']; echo $lang_select; // Create an array of pairs $databaseSections = [ 'server' => 'localhost', 'port' => 3000, ]; // Write configuration to the 'database' section $success = write_to_ini($databaseSections, 'database', 'result.ini'); // Check if the write-to file successful if ($success) { echo "Write to file successfully!"; } else { echo "Write INI file Failed."; } // Function to write settings to a specific section in an INI file 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"; } // Append content to file return file_put_contents($file, $content, FILE_APPEND) !== false; }