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面向对象编程快速入门
Oct 09 PHP
谈谈PHP语法(5)
Oct 09 PHP
实用函数9
Nov 08 PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
php根据日期判断星座的函数分享
Feb 13 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
php统计数组元素个数的方法
Jul 02 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 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
晶体管来复再生式二管收音机
2021/03/02 无线电
聊天室php&amp;mysql(一)
2006/10/09 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
Django model序列化为json的方法示例
2018/10/16 Python
django settings.py 配置文件及介绍
2019/07/15 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
Python绘制动态水球图过程详解
2020/06/03 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
经典而简洁的婚礼主持词
2014/03/13 职场文书
安全负责人任命书
2014/06/06 职场文书
文案策划岗位职责
2015/02/11 职场文书
详解MySQL的半同步
2021/04/22 MySQL
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang