Data structures 将数据存储在txt/xml文件中,是否读取/写入数据库?

Data structures 将数据存储在txt/xml文件中,是否读取/写入数据库?,data-structures,Data Structures,我的wordpress主题接受皮肤文件。这些皮肤文件都通过zip上传器安装到我的主主题文件夹中,zip上传器是我主题的一部分 每个皮肤都有一组自定义颜色代码(共4个),存储在wordpress选项表中,如下所示 假设皮肤名称为“halloween”…这些是my options.php中我的皮肤值之一的值 halloween_color1 = 000000 halloween_color2 = ff0000 halloween_color3 = 777777 halloween_color4 =

我的wordpress主题接受皮肤文件。这些皮肤文件都通过zip上传器安装到我的主主题文件夹中,zip上传器是我主题的一部分

每个皮肤都有一组自定义颜色代码(共4个),存储在wordpress选项表中,如下所示

假设皮肤名称为“halloween”…这些是my options.php中我的皮肤值之一的值

halloween_color1 = 000000
halloween_color2 = ff0000
halloween_color3 = 777777
halloween_color4 = 333333
因此,我只需要一种方法将这些值存储在每个新皮肤的文件夹(我发送给使用我的主题的人的文件夹)中,这样当他们安装皮肤时(通过一个简单的zip提取器上传),我就可以将代码放入我的zip提取器中,将皮肤的自定义颜色值写入数据库

我假设一个简单的colors.txt或colors.xml文件就足够了

我应该如何将数据存储在文本文件中,以便轻松解析数据并将其写入数据库?名称/值对还是XML

<skin>
<color name="halloween_color1" value="000000" />
<color name="halloween_color2" value="000000" />
<color name="halloween_color3" value="000000" />
<color name="halloween_color1" value="000000" />
</skin>

有几个选项。PHP本机可以读取的两个对象是和

INI示例:

[skin]
halloween_color1 = 000000
halloween_color2 = ff0000
halloween_color3 = 777777
halloween_color4 = 333333
CSV示例:

halloween_color1;000000
halloween_color2;ff0000
halloween_color3;777777
halloween_color4;333333
就我个人而言,它已成为人类可读的配置文件最喜欢的格式

YAML示例:

skin:
 halloween_colors:
   - 000000
   - ff0000
   - 777777
   - 333333
我认为它的优点是:

  • 解析非常严格;如果它不喜欢文件的结构,它将立即退出并抛出一个错误

  • 它支持嵌套的数据结构、关联数组的构建、键入和列表(例如,如果您想添加第五种万圣节颜色,则很有用)

但是,它需要一个第三方库。这是否合理,你必须做出决定。
请参阅PHP解析器库的列表

无论如何,当值存储在数据库中时,为什么要首先将其存储在文件中?在将其部署到野外后,皮肤将添加到主主题中。皮肤文件必须有某种方法向主题报告其颜色,以便将其写入数据库。说来话长,但我的皮肤都有背景gif图像,安装皮肤后可以通过颜色选择器轻松更改,从而为皮肤提供无限的调色板。但最初的调色板是由皮肤本身定义的。因此,我使用平铺gif图像作为背景,并允许用户通过colorpicker更改这些背景图像的颜色,而不是将css值与硬编码的背景颜色混为一谈。@Pekka,希望我已经解释得足够清楚,但这不是普通的WP主题。它基本上是一个主题,需要无限数量的皮肤文件(包含css文件和图像的文件夹),这些皮肤文件是在它被部署后创建的。我可以安装一个主题,可以在运行中更改,以获得完全不同的外观(想想css zen garden)。我看不到有足够的用途,需要在主程序包安装中添加一个库。我将检查ini文件方法,并向我的上传程序中添加一些代码来解析这些值并将它们写入数据库。感谢您一如既往的投入(佩卡:)