PHP 手册
后退 |  | 前进

# parse_ini_file

(PHP 4, PHP 5)

parse_ini_file -- 解析一个配置文件

## 说明

array parse_ini_file ( string filename [, bool process_sections] )

parse_ini_file() 载入一个由 filename 指定的 ini 文件，并将其中的设置作为一个联合数组返回。如果将最后的 process_sections 参数设为 `TRUE`，将得到一个多维数组，包括了配置文件中每一节的名称和设置。process_sections 的默认值是 `FALSE`。

> 注: 本函数和 `php.ini` 文件没有关系，该文件在运行脚本时就已经处理过了。本函数可以用来读取你自己的应用程序的配置文件。

> 注: 如果 ini 文件中的值包含任何非字母数字的字符，需要将其括在双引号中（"）。

> 注: 自 PHP 4.2.1 其本函数也受到安全模式和 open_basedir 的影响。

> 注: 自 PHP 5.0 版本开始，该函数也处理选项值内的新行。

> 注: 有些保留字不能作为 ini 文件中的键名，包括：null，yes，no，true 和 false。值为 null，no 和 false 等效于 ""，值为 yes 和 true 等效于 "1"。字符 |&~![()" 也不能用在键名的任何地方，而且这些字符在选项值中有着特殊的意义。

ini 文件的结构和 `php.ini` 的相似。

常量也可以在 ini 文件中被解析，因此如果在运行 parse_ini_file() 之前定义了常量作为 ini 的值，将会被集成到结果中去。只有 ini 的值会被求值。例如：

例子 1. `sample.ini` 的内容

    ; This is a sample configuration file
    ; Comments start with ';', as in php.ini

    [first_section]
    one = 1
    five = 5
    animal = BIRD

    [second_section]
    path = /usr/local/bin
    URL = "http://www.example.com/~username"

例子 2. parse_ini_file() 例子

`<?php define('BIRD', 'Dodo bird'); // Parse without sections $ini_array = parse_ini_file("sample.ini"); print_r($ini_array); // Parse with sections $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 开头的会被当作十六进制。

后退 | 起点 | 前进
move_uploaded_file | 上一级 | pathinfo