2010-09-19 155 views
0

我的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

回答

0

有幾種選擇。兩個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

相關問題