Функция parse_ini_file

Функция parse_ini_file принимает путь к INI-файлу в качестве первого параметра, а также два необязательных параметра: второй параметр определяет, нужно ли обрабатывать секции, а третий - режим сканирования файла.

Синтаксис

phpparse_ini_file(
  string $filename,
  bool $process_sections = false,
  int $scanner_mode = INI_SCANNER_NORMAL
);

Пример

Создадим файл config.ini со следующим содержимым:

php; config.ini
database = mysql
host = localhost
user = root
password = 12345

Теперь прочитаем его:

php<?php
  $res = parse_ini_file('config.ini');
  print_r($res);
?>

Результат выполнения кода:

php[
  'database' => 'mysql',
  'host' => 'localhost',
  'user' => 'root',
  'password' => '12345'
]

Пример

Теперь добавим секции в наш INI-файл:

php; config.ini
[database]
type = mysql
host = localhost

[credentials]
user = root
password = 12345

Прочитаем файл с обработкой секций:

php<?php
  $res = parse_ini_file('config.ini', true);
  print_r($res);
?>

Результат выполнения кода:

php[
  'database' => [
    'type' => 'mysql',
    'host' => 'localhost'
  ],
  'credentials' => [
    'user' => 'root',
    'password' => '12345'
  ]
]

Пример

Продемонстрируем работу с INI_SCANNER_TYPED:

php; config.ini
debug = true
port = 3306
timeout = 3.5

Прочитаем файл с типизацией значений:

php<?php
  $res = parse_ini_file('config.ini', false, INI_SCANNER_TYPED);
  print_r($res);
?>

Результат выполнения кода:

php[
  'debug' => true,
  'port' => 3306,
  'timeout' => 3.5
]

Смотрите также

  • функцию file_get_contents,
    которая читает файл в строку
  • функцию file,
    которая читает файл в массив