English | 简体中文 | 繁體中文
查询

parse_ini_file()函数—用法及示例

「 解析一个配置文件,并返回一个关联数组,其中包含配置文件中的键值对 」


函数名称:parse_ini_file()

适用版本:PHP 4, PHP 5, PHP 7

函数描述:parse_ini_file() 函数解析一个配置文件,并返回一个关联数组,其中包含配置文件中的键值对。

语法:array parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL)

参数:

  • $filename:配置文件的路径。
  • $process_sections:可选参数,指定是否处理节(sections)。默认为 false。如果设置为 true,则返回的数组中会包含节名作为二维数组的键。
  • $scanner_mode:可选参数,指定解析模式。默认为 INI_SCANNER_NORMAL。可以选择以下解析模式:
    • INI_SCANNER_NORMAL:默认模式,解析配置文件中的键值对。
    • INI_SCANNER_RAW:保留配置文件中的特殊字符,不进行转义。
    • INI_SCANNER_TYPED:将配置文件中的值转换为合适的数据类型。

返回值:返回一个关联数组,其中包含配置文件中的键值对。

示例:

假设有一个配置文件 config.ini,内容如下:

; This is a configuration file

[database]
host = localhost
username = admin
password = 123456

[website]
name = My Website
url = http://www.example.com

使用 parse_ini_file() 函数解析该配置文件:

$config = parse_ini_file('config.ini');

// 打印整个配置数组
print_r($config);

// 访问配置值
echo $config['database']['host']; // 输出:localhost
echo $config['website']['name']; // 输出:My Website

使用 process_sections 参数将节名作为数组的键:

$config = parse_ini_file('config.ini', true);

// 打印整个配置数组
print_r($config);

// 访问配置值
echo $config['database']['host']; // 输出:localhost
echo $config['website']['name']; // 输出:My Website

使用 scanner_mode 参数将配置值转换为合适的数据类型:

$config = parse_ini_file('config.ini', false, INI_SCANNER_TYPED);

// 打印整个配置数组
print_r($config);

// 访问配置值
echo $config['database']['host']; // 输出:localhost
echo $config['website']['name']; // 输出:My Website

注意:parse_ini_file() 函数只能解析普通的键值对配置文件,不支持解析复杂的数据结构,如多维数组或嵌套节。

补充纠错
上一个函数: parse_ini_string()函数
下一个函数: Parle\Stack::push()函数
热门PHP函数
分享链接