为了账号安全,请及时绑定邮箱和手机立即绑定

创建ini文件,用PHP写值

创建ini文件,用PHP写值

PHP
慕丝7291255 2019-10-28 18:27:26
我找不到一种方法可以轻松地让我创建一个新文件,将其视为ini文件(而不是php.ini或类似文件……针对每个用户的单独ini文件),以及使用PHP创建/删除值。PHP似乎没有提供创建ini文件和读取/写入/删除值的简便方法。到目前为止,所有内容都只是“读”的,与创建条目或操作键/值无关。
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

我无法保证其效果如何,但是在的文档页面上有一些建议实现相反的建议parse_ini_file()(即write_ini_file,这不是标准的PHP函数)parse_ini_file。


您可以使用write_ini_file将值发送到文件,parse_ini_file读回它们-修改parse_ini_file返回的关联数组,然后使用将该修改后的数组写回到文件中write_ini_file。


那对你有用吗?


查看完整回答
反对 回复 2019-10-28
?
HUX布斯

TA贡献1876条经验 获得超6个赞

从PHP文档的注释中找到了以下代码片段:


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 .= $key."[] = \"".$elem[$i]."\"\n"; 

                } 

            } 

            else if($elem=="") $content .= $key." = \n"; 

            else $content .= $key." = \"".$elem."\"\n"; 

        } 

    } 


    if (!$handle = fopen($path, 'w')) { 

        return false; 

    }


    $success = fwrite($handle, $content);

    fclose($handle); 


    return $success; 

}

用法:


$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);

祝好运!


查看完整回答
反对 回复 2019-10-28
?
交互式爱情

TA贡献1712条经验 获得超3个赞

PEAR有两个(经过单元测试)软件包,可以完成您需要的任务:


Config_Lite-如果只需要.ini文件,则非常理想

配置 -也是读取.php和.xml文件

我宁愿使用经过良好测试的代码,也不愿编写自己的代码。


查看完整回答
反对 回复 2019-10-28
  • 3 回答
  • 0 关注
  • 842 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信