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 相关文章推荐
.htaccess文件保护实例讲解
Feb 06 PHP
PHP url 加密解密函数代码
Aug 26 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
php多任务程序实例解析
Jul 19 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
May 07 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
Jun 06 PHP
PHP单例模式实例分析【防继承,防克隆操作】
May 22 PHP
Laravel 验证码认证学习记录小结
Dec 20 PHP
tp5.1框架数据库子查询操作实例分析
May 26 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的hash算法介绍
2014/02/13 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
使用js画图之画切线
2015/01/12 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用python装饰器验证配置文件示例
2014/02/24 Python
Python中分数的相关使用教程
2015/03/30 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
Python实现求数列和的方法示例
2018/01/12 Python
Keras自定义IOU方式
2020/06/10 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
广告学专业自荐信范文
2014/02/24 职场文书
综艺节目策划方案
2014/06/13 职场文书
工程部部长岗位职责
2015/02/12 职场文书
辞职信范文大全
2015/03/02 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python