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

问题描述:

我的wordpress主题接受皮肤文件。这些皮肤文件都通过作为我主题一部分的zip上传器安装到我的主要主题文件夹中。将数据存储在txt/xml文件中,读取/写入数据库?

每个皮肤有一组自定义颜色代码(4种)存储在WordPress的选项表是这样的...

假设皮肤名称是“鬼节” ......这些都是值在我options.php我的皮肤值之一...

halloween_color1 = 000000 
halloween_color2 = ff0000 
halloween_color3 = 777777 
halloween_color4 = 333333 

所以我只需要这些值存储每一个新的皮肤文件夹(一个我发送给谁用我的主题人)内的手段所以当他们安装皮肤时(通过简单的拉链提取器上传),我可以将代码放入我的拉链提取器中,将皮肤的自定义颜色值写入数据库。

我假设一个简单的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> 
+0

为什么当数据存储在数据库中时,首先将值存储在文件中? – 2010-09-19 22:44:45

+0

皮肤被部署到野外之后被添加到主题中。必须有一些方法让皮肤文件向主题报告它的颜色以便将它们写入数据库。 – 2010-09-20 01:53:59

+0

长篇故事,但我的皮肤都有背景gif图像,一旦皮肤安装后可以通过颜色选择器轻松更改背景gif图像,为皮肤提供无限的调色板。但最初的调色板是由皮肤本身定义的。因此,我不会使用硬编码背景颜色混淆CSS值,而是使用平铺的gif图像作为背景,并允许用户通过colorpicker更改这些背景图像的颜色。 – 2010-09-20 01:55:25

有几种选择。两个PHP可以本地读取的是iniCSV

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已成为人类可读的配置文件的喜爱格式。

YAML例如:

skin: 
halloween_colors: 
    - 000000 
    - ff0000 
    - 777777 
    - 333333 

其在我的视图的优点是:

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

  • 它支持嵌套的数据结构,关联数组的建立,打字和列表(例如,如果你想添加第五个万圣节颜色)

但是,它需要第三方库。无论这是否合理,你必须做出决定。 查看PHP解析器库列表here

+0

我不会看到有足够的用法来要求将库添加到我的主包安装中。我将检查ini文件的方法,并只需向我的上传器添加一些代码以解析出这些值并将它们写入数据库。感谢您的意见,始终佩卡:) – 2010-09-20 14:40:27