用PHP將資料匯入到Foxmail

來源:互聯網
上載者:User

  最近小陽做了一個PHP同學錄,同學們自己在那裡添加或修改姓名、郵箱、OICQ等資訊,並儲存在mySQL資料庫裡。某日小陽突然想到,如果能用PHP產生一個檔案,供同學們下載並把這些資料匯入他們的Foxmail地址簿中,那該多好啊!

  說幹就幹,很快小陽便將這功能推出來了。那是如何?的呢?這裡僅以匯出姓名、郵箱和OICQ三項予以說明。

  要資料可以匯入Foxmail地址簿,當然要先瞭解一下匯入Foxmail地址簿的檔案內容和格式。開啟Foxmail4.2一個帳戶的地址簿,在其功能表列“工具”-“匯入”中可以看到,Foxmail支援兩種外部檔案的匯入:“CSV檔案”和“Wab檔案”。我們選擇產生CSV檔案。那麼可以匯入Foxmail的CSV檔案的內容和格式如何呢?讓我們先從Foxmail匯出一個CSV檔案看一下。在Foxmail地址簿中選擇一個記錄不為空白的檔案夾,執行“工具”-“匯出”- “文字檔”,儲存檔案名稱為“TEMP.CSV”, 在“下一步”的“請選擇輸出欄位”中選擇“姓名”、“電子郵箱地址”和“OICQ”,點擊“完成”後便在指定路徑產生了“TEMP.CSV”檔案了。如果你裝了微軟office系列,會發現這是一個用EXCEL預設開啟的檔案,實際上它是EXCEL的逗點分隔值檔案,雙擊開啟後,其介面。

  

  我們在這種情況下還是無法知道它的寫入格式的。將“TEMP.CSV”檔案改為用記事本開啟,便可以發現它的格式非常簡單:,檔案第一行是Foxmail地址簿的欄位,其它行是欄位對應的值,各欄位和值用英文逗號分隔。所以我們在PHP中按這種格式產生CSV檔案,別人就可以下載並匯入他們的Foxmail中了!

  

  不過還有一個問題需要解決,那就是既然檔案中以逗號作為分隔值,如果資料庫記錄中有英文逗號(註:以下符號若無特別說明皆指英文符號)怎麼辦?當然你可以先將資料中的逗號替換為中文逗號,但其實還有一個方法,那就是如果CSV檔案相應的欄位兩端加上雙引號(“即" "”)作分隔值,其間的英文逗號不作為分隔值,且欄位中連續兩個英文雙引號(即“"”)也只作為一個顯示,而不作為分隔值。

  有了這些認識,我們就可以編寫匯出CSV檔案的PHP檔案了:

  

  在伺服器上運行上述PHP檔案,下載回來的“tofoxmail.csv”檔案用記事本開啟。

  在Foxmail地址簿中點擊“工具”-“匯入”-“CSV檔案”……,資料庫中一大堆的資料一下子就全被匯入了,這個主意還不錯吧!

  

  (以上程式在Apache+PHP4+mySQL和IIS+PHP4+mySQL中皆測試通過。)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.