博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP导入导出csv文件 Summer-CSV
阅读量:5064 次
发布时间:2019-06-12

本文共 1671 字,大约阅读时间需要 5 分钟。

2017年11月9日09:25:56

根据项目实践总结的一个类文件, mac/win下没乱码

简体中文 默认从gb2312转到utf-8

 

用法:

1 // 导入:2 $arr = CSV::import($filepath);3 4 // 导出:5 $data = ['filename' => 'xxx', 'list' => [[xx,xx,x], [xx,xx,x]]];6 CSV::export($data);

 

1 
'xxx', 'list' => [[xx,xx,x], [xx,xx,x], ....]]40 * @return bool41 */42 public static function export($data)43 {44 if (empty($data['filename']) || empty($data['list'])) {45 self::_SetError('缺少参数filename/list');46 return FALSE;47 }48 $filename = $data['filename']; //文件名49 50 header("Expires: 0");51 header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");52 // 强制下载53 header("Content-Type: application/force-download");54 header("Content-Type: application/octet-stream");55 header("Content-Type: application/download");56 // disposition / encoding on response body57 header("Content-Disposition: attachment;filename={
$filename}");58 header("Content-Transfer-Encoding: binary");59 60 //设置utf-8 + bom ,处理汉字显示的乱码61 echo(chr(0xEF).chr(0xBB).chr(0xBF));62 63 //打开输出缓存64 ob_start();65 66 //打开输出流67 $df = fopen("php://output", 'w');68 69 //数据写入缓存70 foreach ($data['list'] as $row) {71 foreach ($row as $k => $v) {72 is_numeric($v) && ($row[$k] .= "\t"); //防止变为科学计数法显示73 }74 fputcsv($df, $row);75 }76 77 fclose($df);78 echo ob_get_clean();79 exit;80 }81 }
View Code

 

转载于:https://www.cnblogs.com/iLoveMyD/p/7807824.html

你可能感兴趣的文章
迭代器和生成器
查看>>
MYSQL分区表功能测试简析
查看>>
codevs 1080 线段树练习
查看>>
JS模块化库seajs体验
查看>>
Android内核sysfs中switch类使用实例
查看>>
POJ2288 Islands and Bridges(TSP:状压DP)
查看>>
POJ3250 Bad Hair Day(单调栈)
查看>>
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
IOS开发UI篇--UITableView的自定义布局==xib布局
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
查看>>
struts2中<s:form>的应用
查看>>
QML学习笔记之一
查看>>
7NiuYun云存储UploadPicture
查看>>
Window 的引导过程
查看>>
python与 Ajax跨域请求
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
小算法
查看>>