用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 相关文章推荐
十天学会php之第三天
Oct 09 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
一个分页的论坛
Oct 09 PHP
php下使用无限生命期Session的方法
Mar 16 PHP
php中文字符截取防乱码
Mar 28 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
php实现webservice实例
Nov 06 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
多个Laravel项目如何共用migrations详解
Sep 25 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 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
yii2安装详细流程
2018/05/23 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
python归并排序算法过程实例讲解
2020/11/04 Python
计算机应用专业毕业生求职信
2013/10/24 职场文书
产品发布会策划方案
2014/05/12 职场文书
查摆问题整改措施
2014/10/24 职场文书
2015年派出所工作总结
2015/04/24 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
2019年教师入党申请书
2019/06/27 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js