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连接access数据库
Mar 27 PHP
坏狼的PHP学习教程之第1天
Jun 15 PHP
Windows下XDebug 手工配置与使用说明
Jul 11 PHP
PHP5中使用PDO连接数据库的方法
Aug 01 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
Jun 09 PHP
PHP中调用SVN命令更新网站方法
Jan 07 PHP
帝国cms常用标签汇总
Jul 06 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 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
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
2010/03/23 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
jQuery学习笔记之创建DOM元素
2015/01/19 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python的range和linspace使用详解
2019/11/27 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
小学英语教师先进事迹
2014/05/28 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
学习普通话的体会
2014/11/07 职场文书
狮子林导游词
2015/02/03 职场文书
复兴之路展览观后感
2015/06/02 职场文书
班主任寄语2016
2015/12/04 职场文书
Python MNIST手写体识别详解与试练
2021/11/07 Python