用PHP将数据导入到Foxmail


Posted in PHP onOctober 09, 2006

最近小阳做了一个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的逗号分隔值文件,双击打开后,其界面如图所示。

用PHP将数据导入到Foxmail

我们在这种情况下还是无法知道它的写入格式的。将“TEMP.CSV”文件改为用记事本打开,便可以发现它的格式非常简单:如图,文件第一行是Foxmail地址簿的字段,其它行是字段对应的值,各字段和值用英文逗号分隔。所以我们在PHP中按这种格式生成CSV文件,别人就可以下载并导入他们的Foxmail中了!

用PHP将数据导入到Foxmail

不过还有一个问题需要解决,那就是既然文件中以逗号作为分隔值,如果数据库记录中有英文逗号(注:以下符号若无特别说明皆指英文符号)怎么办?当然你可以先将数据中的逗号替换为中文逗号,但其实还有一个方法,那就是如果CSV文件相应的字段两端加上双引号(“即" "”)作分隔值,其间的英文逗号不作为分隔值,且字段中连续两个英文双引号(即“"”)也只作为一个显示,而不作为分隔值。

有了这些认识,我们就可以编写导出CSV文件的PHP文件了:

在服务器上运行上述PHP文件,下载回来的“tofoxmail.csv”文件用记事本打开如图所示。

在Foxmail地址簿中点击“工具”-“导入”-“CSV文件”……,数据库中一大堆的资料一下子就全被导入了,这个主意还不错吧!

用PHP将数据导入到Foxmail

(以上程序在Apache+PHP4+mySQL和IIS+PHP4+mySQL中皆测试通过。)

PHP 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
php实现文件下载实例分享
Jun 02 PHP
PHP 验证登陆类分享
Mar 13 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
php显示页码分页类的封装
Jun 08 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
PHP 中的一些经验积累
Oct 09 #PHP
详细介绍PHP应用提速面面观
Oct 09 #PHP
基于PHP与XML的PDF文档生成技术
Oct 09 #PHP
利用js调用后台php进行数据处理原码
Oct 09 #PHP
PHP初学者头疼问题总结
Oct 09 #PHP
php代码优化及php相关问题总结
Oct 09 #PHP
PHP数据库开发知多少
Oct 09 #PHP
You might like
php实现的RSS生成类实例
2015/04/23 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
Python程序暂停的正常处理方法
2019/11/07 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
分层教学实施方案
2014/03/19 职场文书
医德医风演讲稿
2014/05/20 职场文书
2014教师年度工作总结
2014/11/10 职场文书
家装电话营销开场白
2015/05/29 职场文书
工作经历证明范本
2015/06/15 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript
mysql insert 存在即不插入语法说明
2022/03/25 MySQL