实战parse_ini_file()及扩展函数解析ini文件完整版

在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(可以设置为其它类型后缀名)如下:

; 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
[URL] => http://www.9streets.cn
)
Array
(
[test] => Array
(
[one] => 1
[five] => 5
[animal] => BIRD
)

[beta] => Array
(
[path] => /usr/local/bin
[URL] => http://www.9streets.cn
)

)

parse_ini_file()函数,无法解析ini文件中的多维数组形式,这就需要自己手动加入下面的parse_ini_file_multi()方法,来解析大于三维数组的ini文件。特别说明的是,在PHP官网的手册中的parse_ini_file_multi()存在一个错误,我在代码中已经修复。

不过在笔者程序开发的过程中,遇到了另一个难题,我需要把parse_ini_file()函数解析后的多维数组的键值对,放到接口的url中调用,这样的话,多维数组就出现了问题,即便可以实现效果也会面临非常臃肿的遍历过程。
在这里,笔者采用了另外一种方法,将ini配置文件中的多维数组的形式,均转化为一维数组,也就是“=”前面的变量,直接以类型数组样式的字符串赋值,“=”后面的值也就是多维数组的最终取值。

该功能的具体实现和操作,请查看我的 个人网址:http://www.phpthinking.com/archives/587

时间: 2024-10-09 22:02:10

实战parse_ini_file()及扩展函数解析ini文件完整版的相关文章

C++ 中使用boost::property_tree读取解析ini文件

boost 官网 http://www.boost.org/ 下载页面 http://sourceforge.net/projects/boost/files/boost/1.53.0/ 我下载的是 boost_1_53_0.tar.gz 使用系统  ubuntu 12.10 一.解压 [plain] view plaincopy tar -zxvf  boost_1_53_0.tar.gz 得到一个文件夹 boost_1_53_0,  拷贝其子目录 boost 到以下路径 [plain] vi

boost::property_tree读取解析ini文件--推荐

boost::property_tree读取解析ini文件 [cpp] view plaincopy #include "stdafx.h" #include <iostream> #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/ini_parser.hpp> int main() { boost::property_tree::ptree pt; boos

解决ini-parser解析ini文件中文乱码问题

rickyah/ini-parser 是一个.net 平台解析ini文件的库,当ini文件中含有中文字符时会乱码. 解决:将文件通过Editplus 等文本编辑工具保存为 utf-8 + bom 格式即可. 原文地址:https://www.cnblogs.com/nodegis/p/9581327.html

Python 解析ini文件 By ConfigParser

ini文件是windows中经常使用的配置文件,主要的格式为: [Section1] option1 : value1 option2 : value2 python提供了一个简单的模块ConfigParser可以用来解析类似这种形式的文件.对于ConfigParser模块可以解析key:value和key=value这样的类型,对于#和;开头的行将会自动忽视掉.相当于注释行.常用的函数: ConfigParser.RawConfigParser() RawConfigParser Object

MAYA影视动漫高级模型制作全解析出_完整版PDF电子书下载 带索引书签目录高清版

MAYA影视动漫高级模型制作全解析_页数384_出版日期2016.04_完整版PDF电子书下载 带索引书签目录高清版_13936277 下载链接  http://pan.baidu.com/s/1skA4FZf [作 者]CGWANG动漫教育著 [形态项] 384 [出版项] 北京:人民邮电出版社 , 2016.04 [ISBN号]7-115-41201-0 [中图法分类号]TP391.41 [原书定价]99.00 [主题词]三维动画软件 [参考文献格式] CGWANG动漫教育著. MAYA影视

【萝卜学院】产品经理实战训练营课程(67课)完整版

课程大致目录:第1课时 产品经理入门自我修炼必备第2课时 产品6问第3课时 产品要关注的用户体验设计原则和能力第4课时 敏锐的洞察力及碎片时间的利用第5课时 日常生活的思考及分享从自己开始第6课时 市场分析的好处第7课时 市场分析的5个方法第8课时 市场分析数据的整理分析及撰写报告第9课时 互联网产品诞生的大致流程之什么是需求及需求的分类第10课时 互联网产品诞生的大致流程之需求分析的定义及原则第11课时 互联网产品诞生的大致流程之如何收集需求及需求分析的方法(上)第12课时 互联网产品诞生的大

inifile 一个轻量级的INI文件解析库

ini文件是一种常见的配置文件.它以简单的文字与简单的结构组成.INI文件会以不同的扩展名,如".ini.",".cfg",".conf"等. INI文件的格式 INI文件由3个重要的部分组成:参数(parameters),段(sections)和注释(comments).其格式如下: 段(sections) [section] 参数(parameters) name=value 注释(comments) ;comments 每个段包括段名,注释

纯 C++ 代码实现的 INI 文件读写类

INI 文件便于配置简单的程序外部参数,在 Windows 平台上有一套专门用于 INI 文件读写的 API,但到了其他平台,好像就没了.我看了好几个 INI 文件解析的开源代码,不是那么满意,于是我按自己想法,也实现了一套很简单.很易用的 INI 文件解析的代码,只有一个头文件,所有的功能都包含了!!! INI 文件结构 在实现 INI 文件解析的工作前,必须先了解一下 INI 文件的结构,而据我的观察,INI 文件的结构可以如下示例所描述: [文件根] |--[空行] |--[注释] +--

一个Ini文件解析类CIniFileParse

使用方法非常简单,看看源代码就明白了,该类支持Unicode文本. 一个Ini文件解析类CIniFileParse.rar