用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 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
PHP个人网站架设连环讲(四)
Oct 09 PHP
针对初学PHP者的疑难问答(1)
Oct 09 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
Dec 23 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 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
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
浅析JSONP技术原理及实现
2016/06/08 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
详解python里的命名规范
2018/07/16 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
中学生自我鉴定
2014/02/04 职场文书
运动会入场词100字
2014/02/06 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
2015年教师节主持词
2015/07/03 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript
python超详细实现完整学生成绩管理系统
2022/03/17 Python
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python