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 相关文章推荐
Zend Guard一些常见问题解答
Sep 11 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
PHP session会话的安全性分析
Sep 08 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
php去除数组中重复数据
Nov 18 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 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云打印类完整示例
2016/10/15 PHP
thinkphp分页集成实例
2017/07/24 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
python+pandas分析nginx日志的实例
2018/04/28 Python
python逆序打印各位数字的方法
2018/06/25 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
Python实现石头剪刀布游戏
2021/01/20 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
酒店总经理助理岗位职责
2014/02/01 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
毕业寄语大全
2014/04/09 职场文书
污染环境建议书
2015/09/14 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
作文之亲情600字
2019/09/23 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android