一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 用PHP將數據導入到Foxmail的實現代碼

用PHP將數據導入到Foxmail的實現代碼

2019-11-08 13:40php教程網 PHP教程

下面的原理就是用PHP生成一個文件,然后下載并把這些資料導入他們的Foxmail地址簿中。

最近小陽做了一個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文件了: 

復制代碼代碼如下:


<? //這一行一定要放在程序的開始地方,不能有空格或換行。因為下面的header()函數不允許在使用前向用戶輸出任何東西。 
$dfname="tofoxmail.csv"; //生成的文件名 
//連接mySQL數據庫: 
mysql_connect("localhost","yourname","yourpassword") or die("不能連接數據庫!"); 
mysql_select_db("alumni") or die("數據庫發生錯誤!"); 
if($action=="downit"){ 
$getdata=mysql_query("SELECT name,email,oicq FROM classdata"); //選擇數據表中指定記錄 
//如果沒有資料,則: 
if(@mysql_num_rows($getdata)==0){ 
echo "對不起,還沒有任何資料!"; 
exit; 

//以下生成一個文件供下載: 
header("Content-disposition: filename=$dfname"); 
header("Content-type: unknown/unknown"); 
echo "姓名,電子郵件地址,OICQ,foxaddrID"; //輸出第一行,Foxmail地址簿的字段 
$i=1; 
while($row=mysql_fetch_array($getdata)){ //取得數據類型的值 
//將數據中每一個雙引號替換為兩個: 
$row[name]=str_replace("\"","\"\"",$row[name]); 
$row[email]=str_replace("\"","\"\"",$row[email]); 
$row[oicq]=str_replace("\"","\"\"",$row[oicq]); 
//輸出相應字段對應的值的行,每個值用雙引號和逗號作分隔符: 
echo base64_decode("DQo=")."\"$row[name]\",\"$row[email]\",\"$row[oicq]\",$i"; 
/*上式中“base64_decode("DQo=")”是換行符,之所以不用“\n”,是因為兩者不完全相同, 
用后者將可能導致Foxmail導入失敗。 
*/ 
$i++; 

exit; 

?> 
<!--如果不是點擊了下載的鏈接,則顯示以下HTML內容--> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>導出資料到Foxmail地址簿</title></head> 
<body> 點擊<a href='javascript:this.location=this.location+"?action=downit"'>這里</a>下載文件,保存并導入到您的Foxmail地址簿中。<br> 
<B>操作方法</B><br> 
…… 
</body> 
</html> 


在服務器上運行上述PHP文件,下載回來的“tofoxmail.csv”文件用記事本打開如圖所示。

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

  用PHP將數據導入到Foxmail的實現代碼

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产在线成人精品 | 美女脱了内裤让男生玩屁股 | 成年人在线视频免费观看 | 国产午夜亚洲精品不卡 | 丰满大屁股美女一级毛片 | 国产suv精品| 色综合久久综合网欧美综合网 | 黑人巨茎大战欧美白妇 | 青草国内精品视频在线观看 | 国产精品永久免费视频 | 51xtv成人影院 | 奇米影视在线视频8888 | 99精品热| 国产99久久久国产精品成人 | 希岛爱理aⅴ在线中文字幕 午夜综合网 | 超爽人人做人人爽 | jj免费视频| 国产第7页 | 日日综合 | 成人国产在线观看 | 99毛片| 亚洲国产欧美久久香综合 | 国产在线精品一区二区高清不卡 | 91系列在线观看免费 | 催眠白丝舞蹈老师小说 | 国产自拍影院 | 拿捏小说 | 美女在尿口隐私视频 | 日日摸日日添日日透 | 青青艹视频在线 | 不卡日本 | 被老外操 | 欧美精品v欧洲高清 | 男女精品视频 | 99re8在线精品视频免费播放 | 万域之王动漫在线观看全集免费播放 | 亚洲精品www久久久久久久软件 | 99精品免费观看 | 四虎麻豆国产精品 | 亚洲天堂2013 | 欧美亚洲国产另类在线观看 |