PHP中操作ini配置文件的方法


Posted in PHP onApril 25, 2013

PHP操作ini配置文件

<?php
//写ini文件
function write_ini_file($assoc_arr, $path, $has_sections=FALSE)
{
    $content = "";
    if ($has_sections)
    {
        foreach ($assoc_arr as $key=>$elem)
        {
            $content .= "[".$key."]\n";
            foreach ($elem as $key2=>$elem2)
            {
                if(is_array($elem2))
                {
                    for($i=0;$i<count($elem2);$i++)
                    {
                        $content .= $key2."[] = \"".$elem2[$i]."\"\n";
                    }
                }
                else if($elem2=="") $content .= $key2." = \n";
                else $content .= $key2." = \"".$elem2."\"\n";
            }
        }
    }
    else
    {
        foreach ($assoc_arr as $key=>$elem)
        {
            if(is_array($elem))
            {
                for($i=0;$i<count($elem);$i++)
                {
                    $content .= $key2."[] = \"".$elem[$i]."\"\n";
                }
            }
            else if($elem=="") $content .= $key2." = \n";
            else $content .= $key2." = \"".$elem."\"\n";
        }
    }
    if (!$handle = fopen($path, 'w'))
    {
        return false;
    }
    if (!fwrite($handle, $content))
    {
        return false;
    }
    fclose($handle);
    return true;
}
//用法
//
$sampleData = array(
                'first' => array(
                    'first-1' => 1,
                    'first-2' => 2,
                    'first-3' => 3,
                    'first-4' => 4,
                    'first-5' => 5,
                ),
                'second' => array(
                    'second-1' => 1,
                    'second-2' => 2,
                    'second-3' => 3,
                    'second-4' => 4,
                    'second-5' => 5,
                ));
write_ini_file($sampleData, './data.ini', true);
//读ini文件
public function readini($name)
{
    if (file_exists(SEM_PATH.'init/'.$name))
    {
        $data = parse_ini_file(SEM_PATH.'init/'.$name,true);
        if ($data)
        {
        return $data;
        }
    }
    else
    {
        return false;
    }
}

如果在python中处理,需要将PHP生成的配置文件值两边的双引号去掉。也就是把上面生成ini配置文件函数的\"去掉即OK。
PHP 相关文章推荐
PHP完整的日历类(CLASS)
Nov 27 PHP
php 信息采集程序代码
Mar 17 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP随机数函数rand()与mt_rand()的讲解
Mar 25 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 PHP
设定php简写功能的方法
Nov 28 PHP
PHP实现爬虫爬取图片代码实例
Mar 03 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 #PHP
关于php正则匹配汉字的方法介绍
Apr 25 #PHP
PHP中如何调用webservice的实例参考
Apr 25 #PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 #PHP
php中防止SQL注入的最佳解决方法
Apr 25 #PHP
Apache下禁止php文件被直接访问的解决方案
Apr 25 #PHP
PHP笔记之:日期函数的使用介绍
Apr 24 #PHP
You might like
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
关于php中一些字符串总结
2016/05/05 PHP
循环 vs 递归浅谈
2013/02/28 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
python基础教程项目二之画幅好画
2018/04/02 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
Python hashlib模块实例使用详解
2019/12/24 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
python实现简单井字棋小游戏
2020/03/05 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
市场开发与营销专业求职信范文
2014/05/01 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
邀请函样本
2015/02/02 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
Python中22个万用公式的小结
2021/07/21 Python
详解Golang如何优雅的终止一个服务
2022/03/21 Golang