用PHP將數(shù)據(jù)導(dǎo)入到Foxmail
發(fā)表時(shí)間:2024-01-24 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]最近小陽(yáng)做了一個(gè)PHP同學(xué)錄,同學(xué)們自己在那里添加或修改姓名、郵箱、OICQ等信息,并保存在mySQL數(shù)據(jù)庫(kù)里。某日小陽(yáng)突然想到,如果能用PHP生成一個(gè)文件,供同學(xué)們下載并把這些資料導(dǎo)入他們的Foxmail地址簿中,那該多好啊! 說(shuō)干就干,很快小陽(yáng)便將這功能推出來(lái)了。那是如何實(shí)現(xiàn)的呢?這里僅以導(dǎo)...
最近小陽(yáng)做了一個(gè)PHP同學(xué)錄,同學(xué)們自己在那里添加或修改姓名、郵箱、OICQ等信息,并保存在mySQL數(shù)據(jù)庫(kù)里。某日小陽(yáng)突然想到,如果能用PHP生成一個(gè)文件,供同學(xué)們下載并把這些資料導(dǎo)入他們的Foxmail地址簿中,那該多好��!
說(shuō)干就干,很快小陽(yáng)便將這功能推出來(lái)了。那是如何實(shí)現(xiàn)的呢?這里僅以導(dǎo)出姓名、郵箱和OICQ三項(xiàng)予以說(shuō)明。
要資料可以導(dǎo)入Foxmail地址簿,當(dāng)然要先了解一下導(dǎo)入Foxmail地址簿的文件內(nèi)容和格式。打開(kāi)Foxmail4.2一個(gè)帳戶(hù)的地址簿,在其菜單欄“工具”-“導(dǎo)入”中可以看到,F(xiàn)oxmail支持兩種外部文件的導(dǎo)入:“CSV文件”和“Wab文件”。我們選擇生成CSV文件。那么可以導(dǎo)入Foxmail的CSV文件的內(nèi)容和格式如何呢?讓我們先從Foxmail導(dǎo)出一個(gè)CSV文件看一下。在Foxmail地址簿中選擇一個(gè)記錄不為空的文件夾,執(zhí)行“工具”-“導(dǎo)出”- “文本文件”,保存文件名為“TEMP.CSV”, 在“下一步”的“請(qǐng)選擇輸出字段”中選擇“姓名”、“電子郵箱地址”和“OICQ”,點(diǎn)擊“完成”后便在指定路徑生成了“TEMP.CSV”文件了。如果你裝了微軟office系列,會(huì)發(fā)現(xiàn)這是一個(gè)用EXCEL默認(rèn)打開(kāi)的文件,實(shí)際上它是EXCEL的逗號(hào)分隔值文件,雙擊打開(kāi)后,其界面如圖所示。
我們?cè)谶@種情況下還是無(wú)法知道它的寫(xiě)入格式的。將“TEMP.CSV”文件改為用記事本打開(kāi),便可以發(fā)現(xiàn)它的格式非常簡(jiǎn)單:如圖,文件第一行是Foxmail地址簿的字段,其它行是字段對(duì)應(yīng)的值,各字段和值用英文逗號(hào)分隔。所以我們?cè)赑HP中按這種格式生成CSV文件,別人就可以下載并導(dǎo)入他們的Foxmail中了!

不過(guò)還有一個(gè)問(wèn)題需要解決,那就是既然文件中以逗號(hào)作為分隔值,如果數(shù)據(jù)庫(kù)記錄中有英文逗號(hào)(注:以下符號(hào)若無(wú)特別說(shuō)明皆指英文符號(hào))怎么辦?當(dāng)然你可以先將數(shù)據(jù)中的逗號(hào)替換為中文逗號(hào),但其實(shí)還有一個(gè)方法,那就是如果CSV文件相應(yīng)的字段兩端加上雙引號(hào)(“即" "”)作分隔值,其間的英文逗號(hào)不作為分隔值,且字段中連續(xù)兩個(gè)英文雙引號(hào)(即“"”)也只作為一個(gè)顯示,而不作為分隔值。
有了這些認(rèn)識(shí),我們就可以編寫(xiě)導(dǎo)出CSV文件的PHP文件了:
在服務(wù)器上運(yùn)行上述PHP文件,下載回來(lái)的“tofoxmail.csv”文件用記事本打開(kāi)如圖所示。
在Foxmail地址簿中點(diǎn)擊“工具”-“導(dǎo)入”-“CSV文件”……,數(shù)據(jù)庫(kù)中一大堆的資料一下子就全被導(dǎo)入了,這個(gè)主意還不錯(cuò)吧!

(以上程序在Apache+PHP4+mySQL和IIS+PHP4+mySQL中皆測(cè)試通過(guò)。)