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)


Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 151 | Комментариев: 1

Метки: PHP

Комментарии

Отзывы посетителей сайта о статье
morgot (20.09.2022 в 01:57):
Спасибо! Полезная вещь.

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

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

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