Blog. Just Blog

Работа с INI-файлами на PHP

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Работа с INI-файлами на PHP
Работа с INI-файлами на PHP

Файлы формата INI - это файлы конфигурации, которые используются различными программами и самой операционной системой Windows для хранения своих настроек. Мне этот формат очень нравится из-за своей доступности и легкости в обработке. На Ассемблере я уже сделал с ними все, что хотел, а теперь понадобилось работать с INI-файлами на PHP. В арсенале PHP есть стандартная функция parse_ini_file, но она содержит принципиальные ошибки, ограничена в возможностях и не решает нужных мне задач. Пришлось рисовать класс для полноценной работы с INI-файлами на PHP.

Итак, что умеет мой PHP INI Parser? Корректный доступ ко всем ключам и секциям INI-файла. Получение, добавление и изменение значений ключей и секций. Удаление ключей и секций не делал, так как не требовалось, но при необходимости добавить не проблема. Автоматическая запись или создание INI-файла после любых изменений с сохранением внутренней структуры (комментарии, пустые строки и т.п.). При работе с файлом подразумевается, что его структура соответствует общепринятым правилам (стандартов на формат INI-файла нет).

Пример тестового INI-файла:

############################
# Config file
############################

; Тип авторизации
auth = full

[auth]
; Данные для авторизации
login = supauzar
password = supadupapassa

[main]
; Данные для работы
do=something
try=10

Пример работы с этим файлов при помощи PHP INI Parser:
  1. // Подключить класс
  2. include 'class.ini.php';
  3. // Будем работать с файлом config.ini
  4. $ini = new ini('config.ini');
  5.  
  6. $auth_type $ini->get('''auth');
  7. if ($auth_type=='full') {
  8.     $login $ini->get('auth''login');
  9.     $password $ini->get('auth''password');
  10.     // Добавить новый ключ в секцию auth
  11.     $ini->set('auth''result''success');
  12.     //...
  13.     // какие-то действия
  14.     //...
  15.     $try $ini->get('main''try');
  16.     // Увеличить счетчик и сохранить новое значение ключа
  17.     $ini->set('main''try', ++$try);
  18.     // Добавить новый ключ в секцию main
  19.     $ini->set('main''result''ok');
  20.  
  21.     // Добавить новую секцию и ключ
  22.     $ini->set('new section''foo''bar');
  23. }
Тут представлены все возможные действия, которые может выполнять PHP INI Parser. А штатная функция parse_ini_file даже не в состоянии корректно прочитать этот тестовый INI-файл.

В приложении скрипт PHP INI Parser, тестовый INI-файл из статьи и небольшой скрипт с примером использования.

PHP INI Parser 1.0PHP INI Parser 1.0

PHP.INI.Parser.1.0-PCL.zip (3,251 bytes)


Поделиться ссылкой ВКонтакте
Просмотров: 1069 | Комментариев: 4

Метки: PHP
Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (18.04.2024 в 11:17):
Ну если дурак придумал, то сказочный долбоеб дальше заголовка статью так и не осилил. И уж точно вряд ли поймет, о чем тут вообще идет речь.
mixmax (18.04.2024 в 07:12):
дурак придумал велосипед
100 лет есть нативная функция пхп
$INI=parse_ini_file(KM.'mx.ini');

https://www.php.net/manual/ru/...ini-file.php

данный код использует сайт - [spam]
Эрнест (25.02.2023 в 13:47):
Спасибо, не придется изобретать самому!
morgot (20.09.2022 в 01:57):
Спасибо! Полезная вещь.

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.06 сек. / MySQL: 2 (0.003 сек.) / Память: 4.5 Mb
Наверх