2014-09-18 146 views
0

我使用parse_ini_file()函数来解析PHP中的配置文件。 process_sections参数设置为True,因为我需要这些部分。PHP - 如何检查INI配置文件中是否存在节点,如果不存在节点

[section 1] 
key1 = value1 
key2 = value2 
... 

[section 2] 
... 

我想要做的是测试如果现有的配置文件中的一个部分存在,如果不是我想创建它,从一个阵列拍摄的键和值一起,无需重写其他部分。

我知道在Python中有一个布尔方法,可以很容易地检查它:config.has_section('my section'),并创建节:config.add_section('my section')

我想知道在PHP中是否有类似的东西。

编辑:

我发现了一个简单的解决方案,但很有效。我使用了array_key_exists('my section', $my_array)函数,它类似于我之前提到的python函数,它的功能与我想要的一样。这是一个简单的代码,我已经实现

$config = parse_ini_file('MyConfigFile.cfg', True); 

if (!array_key_exists('section 3', $config)) { 
    foreach ($section_three_array as $key => $value) { 
     $config['section 3'][$key] = $value; 
    } 
} 

然后,用它的键值,以我使用的配置文件中的函数定义here写回新的部分(如果不存在的话)。

回答

0

您可以使用isset()检查一个值是否存在,我建议您检查它是否也有值为empty()。如果你显示一些你的代码,我们可以建议实施这些。

有没有本地方式回写入ini文件,但here is a function someone else has made

+0

感谢您指出该链接,但我更喜欢我在编辑中编写的方式。 – whatsup 2014-09-19 14:01:52

相关问题