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 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 开头的会被当作十六进制。