[PHP] 使用php生成下载csv文件
原理很简单,就是用php输出一个header头,可以直接让浏览器下载文件
单元格内容用英文逗号分隔, 其中为了防止乱码,汉字部分会进行一个转码操作,从utf8转为gbk
为了使单元格看起来直观一点,会增加个\t ,这样就不会看的时候出现#########
比如下面这个把moveusers数组作为csv文件下载
if(isset($_REQUEST['act'])&& $_REQUEST['act']=="downloadAll") { $outformat = "entmove.csv"; $title = "邮箱名,姓名,邮箱密码,搬家状态,开始时间,结束时间,邮件总数,收取数,失败数\n"; $data = ""; foreach ($moveUsers as $b) { $status = iconv("utf-8", "gbk//IGNORE", $b['status_text']); $realName = iconv("utf-8", "gbk//IGNORE", $b['realName']); $data .= "{$b['account']}\t,{$realName}\t,{$b['password']},{$status}\t,{$b['movetime']}\t" . ",{$b['endtime']}\t,{$b['totle']},{$b['successnum']},{$b['failnum']}\n"; } $title = iconv("utf-8", "gbk//IGNORE", $title); $data = $title . $data; header("Cache-control: private"); header("Pragma: public"); header('Content-type: application/x-csv'); if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5')) { header("Content-Disposition: inline; filename=$outformat"); } else { header("Content-Disposition: attachment; filename=$outformat"); } echo $data; exit; }
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网