用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 相关文章推荐
CodeIgniter php mvc框架 中国网站
May 26 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
php 抽象类的简单应用
Sep 06 PHP
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
深入了解PHP类Class的概念
Jun 14 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
php引用传值实例详解学习
Nov 06 PHP
PHP生成数组再传给js的方法
Aug 07 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 05 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php简单提示框alert封装函数
2010/08/08 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
webpack4简单入门实例
2018/09/06 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
Python检测生僻字的实现方法
2016/10/23 Python
python实现自动发送报警监控邮件
2018/06/21 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python实现网站微信登录的示例代码
2019/09/18 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
软件测试常见笔试题
2012/02/04 面试题
2015小学教育教学工作总结
2015/07/21 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python