2014-09-18 147 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

相關問題