parse_ini_file 解析一个配置文件

发表日期:2021-07-01 08:55:44 | 来源: | | 浏览(721) 分类:文件系统函数

parse_ini_file

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_ini_file解析一个配置文件

说明

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

parse_ini_file() 载入一个由   filename 指定的 ini   文件,并将其中的设置作为一个联合数组返回。

ini 文件的结构和的相似。

参数


  • filename

  • 要解析的 ini 文件的文件名。

  • process_sections

  • 如果将最后的   process_sections 参数设为   true,将得到一个多维数组,包括了配置文件中每一节的名称和设置。process_sections   的默认值是 false

  • scanner_mode

  • Can either be INI_SCANNER_NORMAL (default) or       INI_SCANNER_RAW. If INI_SCANNER_RAW       is supplied, then option values will not be parsed.


返回值

成功时以关联数组 array 返回设置,失败时返回 false

范例


示例 #1的内容

; 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"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

示例 #2 parse_ini_file() 例子

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

<?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
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] => Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [third_section] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

        )

)



示例 #3 parse_ini_file() parsing a php.ini file

<?php 
// A simple function used for comparing the results below
function yesno($expression){
    return($expression ? 'Yes' : 'No');
}
// Get the path to php.ini using the php_ini_loaded_file() 
// function available as of PHP 5.2.4
$ini_path = php_ini_loaded_file();
// Parse php.ini
$ini = parse_ini_file($ini_path);
// Print and compare the values, note that using get_cfg_var()
// will give the same results for parsed and loaded here
echo '(parsed) magic_quotes_gpc = ' . yesno($ini['magic_quotes_gpc']) . PHP_EOL;
echo '(loaded) magic_quotes_gpc = ' . yesno(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
?>

以上例程的输出类似于:

(parsed) magic_quotes_gpc = Yes
(loaded) magic_quotes_gpc = Yes


注释

注意:

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


注意:

如果 ini 文件中的值包含任何非字母数字的字符,需要将其括在双引号中(")。


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

参见



集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。