用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 COOKIE设置为浏览器进程
Jun 21 PHP
Zend的MVC机制使用分析(二)
May 02 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
php通过session防url攻击方法
Dec 10 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
Yii redis集合的基本使用教程
Jun 14 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
php正则修正符用法实例详解
2016/12/29 PHP
php将html转为图片的实现方法
2017/05/19 PHP
PHP学习笔记之session
2018/05/06 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
videocapture库制作python视频高速传输程序
2013/12/23 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
公司经理任命书
2014/06/05 职场文书
中秋节寄语2015
2015/03/24 职场文书
升职自我推荐信范文
2015/03/25 职场文书
教师节表彰会主持词
2015/07/06 职场文书
军训新闻稿范文
2015/07/17 职场文书
2019年思想汇报
2019/06/20 职场文书
python实现简单的名片管理系统
2021/04/26 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python