用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获得文件扩展名三法
Nov 25 PHP
PHP 数组实例说明
Aug 18 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
深入分析PHP引用(&)
Sep 04 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
学习php设计模式 php实现备忘录模式(Memento)
Dec 09 PHP
php微信开发之上传临时素材
Jun 24 PHP
PHP智能识别收货地址信息实例
Jan 05 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
php png失真的原因及解决办法
Nov 17 PHP
一次项目中Thinkphp绕过禁用函数的实战记录
Nov 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
PHP入门学习笔记之一
2010/10/12 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
Python读取实时数据流示例
2019/12/02 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
国际贸易专业个人求职信格式
2014/02/02 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
学校欢迎标语
2014/06/18 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
民主生活会剖析材料
2014/09/30 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
Python实现归一化算法详情
2022/03/18 Python