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&amp;mysql(六)
Oct 09 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
PHP中捕获超时事件的方法实例
Feb 12 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
laravel自定义分页效果
Jul 23 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
PHP判断是否是json字符串
Apr 01 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
php5新改动之短标记启用方法
2008/09/11 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
js密码强度校验
2015/11/10 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
深入浅析javascript继承体系
2017/10/23 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
python进阶教程之异常处理
2014/08/30 Python
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python定时器线程池原理详解
2020/02/26 Python
Django通过json格式收集主机信息
2020/05/29 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
进程的查看和调度分别使用什么命令
2013/12/14 面试题
大专生自荐信
2013/10/04 职场文书
优秀教师先进事迹
2014/01/22 职场文书
农民工讨薪标语
2014/06/26 职场文书
促销活动总结模板
2014/07/01 职场文书
交通事故和解协议书
2014/09/25 职场文书
2015年中秋节主持词
2015/07/30 职场文书
教师听课学习心得体会
2016/01/15 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis