实战parse_ini_file()及扩展函数解析ini文件完整版
2014-10-24 10:41
441 查看
在PHP网站开发的过程中,往往会用到读取ini参数配置文件,比如需要访问一些复杂的借口,就可以直接在参数配置文件里面修改参数,然后再php脚本里面直接读取执行。而php有一个可以直接读取ini配置文件的函数parse_ini_file(),并以数组的形式返回。下面详细讲解一下采用PHP内置函数parse_ini_file,读取ini配置文件。
参数说明:array parse_ini_file ( string $filename [, bool $process_sections ] ) parse_ini_file() 载入一个由 filename 指定的 ini 文件,返回一个联合数组。如果将 process_sections 参数设为 TRUE,将得到一个多维数组,包括了配置文件中每一节的名称和设置。process_sections 的默认值是 FALSE,返回将每一节合并后的数组。ini文件注释用;符号
下面开始实例详解:
config.ini(可以设置为其它类型后缀名)如下:
PHP脚本测试代码,如下:
运行结果如下:
参数说明:array parse_ini_file ( string $filename [, bool $process_sections ] ) parse_ini_file() 载入一个由 filename 指定的 ini 文件,返回一个联合数组。如果将 process_sections 参数设为 TRUE,将得到一个多维数组,包括了配置文件中每一节的名称和设置。process_sections 的默认值是 FALSE,返回将每一节合并后的数组。ini文件注释用;符号
下面开始实例详解:
config.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" [third_section] phpversion[] = "5.0" phpversion[] = "5.1" phpversion[] = "5.2" phpversion[] = "5.3"
PHP脚本测试代码,如下:
<?php $ini_array = parse_ini_file("config.ini"); print_r($ini_array); // Parse with sections $ini_array = parse_ini_file("config.ini", true); print_r($ini_array);
运行结果如下:
Array ( [one] => 1 [five] => 5 [animal] => BIRD [path] => /usr/local/bin => http://www.9streets.cn )
Array
(
[test] => Array
(
[one] => 1
[five] => 5
[animal] => BIRD
)
[beta] => Array
(
[path] => /usr/local/bin
[URL] => http://www.9streets.cn )
)[/code]
parse_ini_file()函数,无法解析ini文件中的多维数组形式,这就需要自己手动加入下面的parse_ini_file_multi()方法,来解析大于三维数组的ini文件。特别说明的是,在PHP官网的手册中的parse_ini_file_multi()存在一个错误,我在代码中已经修复。
不过在笔者程序开发的过程中,遇到了另一个难题,我需要把parse_ini_file()函数解析后的多维数组的键值对,放到接口的url中调用,这样的话,多维数组就出现了问题,即便可以实现效果也会面临非常臃肿的遍历过程。
在这里,笔者采用了另外一种方法,将ini配置文件中的多维数组的形式,均转化为一维数组,也就是“=”前面的变量,直接以类型数组样式的字符串赋值,“=”后面的值也就是多维数组的最终取值。
该功能的具体实现和操作,请查看我的 个人网址:[url=http://www.phpthinking.com/archives/587]http://www.phpthinking.com/archives/587
相关文章推荐
- 实战parse_ini_file()及扩展函数解析ini文件完整版
- 实战parse_ini_file()及扩展函数解析ini文件完整版
- PHP parse_ini_file() 函数 解析配置文件
- PHP的parse_ini_file()函数,解释结构类型php.ini格式的文件
- parse_ini_file解析ini配置文件的效率和直接require Array效率的比较
- PHP parse_ini_file() 函数
- parse_ini_file() 函数
- Javascript解析INI文件内容的函数
- PHP函数——parse_ini_file() 函数
- parse_ini_file()函数
- PHP - Manual手册 - Function Reference函数参考 - File System Related Extensions文件系统相关扩展 - Filesystem文件系统 - Filesystem Functions文件系统函数 -
- [Python]解析.ini 文件出错ConfigParser.MissingSectionHeaderError: File contains no section headers.
- kindeditor上传文件在SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题 .
- parse_ini_file() 函数
- python开发_configparser_解析.ini配置文件工具_完整版_博主推荐
- PHP - Manual手册 - Function Reference函数参考 - File System Related Extensions文件系统相关扩展 - Filesystem文件系统 - Filesystem Functions文件系统函数 -
- parse_ini_file() 函数
- parse_ini_file() 函数的使用
- Android读取init.rc配置文件parse_config函数解析
- PHP - Manual手册 - Function Reference函数参考 - File System Related Extensions文件系统相关扩展 - Directories目录 - Directory Functions目录函数 - sca