用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 相关文章推荐
支持oicq头像的留言簿(一)
Oct 09 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
优化PHP代码技巧的小结
Jun 02 PHP
使用php清除bom示例
Mar 03 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
php生成唯一的订单函数分享
Feb 02 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
PHP 的Opcache加速的使用方法
Dec 29 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
php微信小程序解包过程实例详解
Mar 31 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中3种方法删除字符串中间的空格
2014/03/10 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
JavaScript Prototype对象
2009/01/07 Javascript
常用简易JavaScript函数
2009/04/09 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
详解Vue之计算属性
2020/06/20 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
python中解析json格式文件的方法示例
2017/05/03 Python
django中send_mail功能实现详解
2018/02/06 Python
Python绘制3D图形
2018/05/03 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
django中的数据库迁移的实现
2020/03/16 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
高中自我鉴定
2013/12/20 职场文书
大学生村官任职感言
2014/01/09 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
何玥事迹观后感
2015/06/16 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
MySQL 服务和数据库管理
2021/11/11 MySQL