用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 相关文章推荐
允许phpmyadmin空密码登录的配置方法
May 29 PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 PHP
解析php如何将日志写进syslog
Jun 28 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
php约瑟夫问题解决关于处死犯人的算法
Mar 23 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
php支付宝APP支付功能
Jul 29 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 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
MySQL中create table语句的基本语法是
2007/01/15 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
python 正确保留多位小数的实例
2018/07/16 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
python绘制规则网络图形实例
2019/12/09 Python
python设置环境变量的作用整理
2020/02/17 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
元旦联欢会策划方案
2014/06/11 职场文书
保密工作承诺书
2014/08/29 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
乱世佳人观后感
2015/06/08 职场文书
交通事故协议书范本
2016/03/19 职场文书
高一作文之乐趣
2019/11/21 职场文书
MySQL之DML语言
2021/04/05 MySQL
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库