在.ini配置文件中使用“包含”

时间:2018-08-09 13:08:50

标签: php merge synchronization include ini

我需要你的帮助。 我有两个具有相似键和值的.ini文件。我希望它们同步,但更像是合并。

这些 .ini文件的两面都会有所变化,因此我们无法创建同步,因为我们不会覆盖另一面。一切都应该自动合并/同步, 同时我们更改两个ini文件的内容!

我们的目标始终是更改总部的ini文件,并将其与收银台中的文件合并/同步。

  

不起作用的示例:

     

ini-file1.ini ,位于收银台上,每天需要多次更换   在收银台旁!

     

ini-file2.ini 是我们总部的 ini-file1.ini 的副本。我们希望能够在收银台找零时更改 ini-file2.ini

     

收银台更改了ini-file1.ini 中的收据编号,我们(总部)更改了ini-file2.ini 中的密钥2

     

ini-file1.ini:

key1 = 1;
key2 = 2;
receiptnumber: 122
     

ini-file2.ini:

key1 = 1;
key2 = 4;
receiptnumber: 118
     

现在我们在 ini-file1.ini ini-file2.ini 之间建立同步/合并。

     

合并应用程序无法知道其中哪些键是正确的键   以及要丢弃和覆盖的那一个。

实际上,我们认为我们可以对其中一个 ini文件进行“插入/包含”调查,并将第二个 ini文件中的所有内容外包。这样我们得到了一个由对象组成的ini文件。 (我的“ ini文件oop概念”)

应该表示:

  

ini-file1.ini ,位于收银台上,每天需要多次更换   在收银台旁!

     

ini-file-outsource.ini ,只是收银台配置文件的一部分。我们希望它像通过 insert“ C:\ ini-file-outsource.ini”; 这样的行连接到 ini-file1.ini 尚不存在,但我们需要类似的东西。这是处理Cashdesk中设置的所有内容,因此该文件不是   由收银台更改。在收银台上。

     

ini-file2.ini ini-file-outsource.ini 的副本。它在我们的总部,曾经用来改变   收银台的设置。

     

ini-file1.ini:

key1 = 1;
key2 = 2;
receiptnumber: 122
insert "C:\ini-file-outsource.ini";
     

ini-file-outsource.ini:

key3 = 3;
key4 = 4;
key5 = 8;
     

ini-file2.ini:

key3 = 3;
key4 = 4;
key5 = 8;
     

这次,我们在 ini-file2.ini 和    ini-file-outsource.ini

如果有可能实现此目的,则应该起作用,因为我们在每一侧仅更改了不同的内容。每个键都是唯一的。

如果您有更好的方法,我会竭尽所能。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以使用类似的内容:

ini=%d/../anotherFile.ini:section

%d是当前文件目录 和:section指要包含的特定部分