(PHP 4, PHP 5)
parse_ini_file — Обрабатывает конфигурационный файл
parse_ini_file() загружает ini-файл, указанный в аргументе filename , и возвращает его настройки в виде ассоциативного массива. Установив последний аргумент process_sections в TRUE, вы получаете многомерный массив, который включает как название отдельных настроек, так и секции. По умолчанию process_sections равен FALSE
Note: Эта функция не имеет никакого отношения к файлу php.ini. К моменту выполнения вашего скрипта, он уже обработан. Эта функция может быть использована для загрузки настроек вашего собственного приложения.
Note: Если значение в ini-файле содержит прочие символы, кроме букв и цифр, оно должно заключаться в двойные кавычки (").
Note: Начиная с версии PHP 4.2.1, на поведение этой функции влияет безопасный режим и open_basedir.
Note: Начиная с версии PHP 5.0, эта функция также обрабатывает переводы строк в значениях.
Note: Существует зарезервированные слова, которые вы не можете использовать в качестве ключей в ini-файлах. Такими словами являются следующие: null, yes, no, true и false.
Структура ini-файла похожа на структуру php.ini.
Константы также могут быть обработаны в ini-файле, так что если вы объявите константу в виде значения для ini-файла до вызова parse_ini_file(), она (константа) будет правильно обработана. Таким образом обрабатываются только значения. Например:
Example#1 Содержимое sample.ini
; Это пример файла настроек
; Комментарии начинаются с ';', как в php.ini
[first_section]
one = 1
five = 5
animal = BIRD
[second_section]
path = /usr/local/bin
URL = "http://www.example.com/~username"
Example#2 Пример использования функции parse_ini_file()
<?php
define('BIRD', 'Dodo bird');
// Обрабатываем без секций
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);
// Обрабатываем с секциями
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);
?>
Результат:
Array
(
[one] => 1
[five] => 5
[animal] => Dodo bird
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
)
Array
(
[first_section] => Array
(
[one] => 1
[five] => 5
[animal] = Dodo bird
)
[second_section] => Array
(
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
)
)
Ключи и имена секций, состоящие из цифр, будут обработаны как целые числа в PHP, поэтому числа, начинающиеся с 0 будут считаться восьмиричными, а начинающиеся с 0x - шестнадцатиричными.