• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php数据导出如何实现

php 搞代码 4年前 (2022-01-22) 16次浏览 已收录 0个评论

这次给大家带来php数据导出如何实现,php数据导出实现的注意事项有哪些,下面就是实战案例,一起来看一下。

开始使用是非常好用的,但是当需要导出的数据达到上万条时就直接带来内存不足的问题。

然后我找到了几个解决方案。

前端解决方案

PHP配合SheetJS/js-xlsx导出Excel大量数据

这个方案好处的不需要额外的接口,但是要依赖于前端开发者。

导出成 csv

该方案速度较快,完全后端实现,缺点是 csv 格式对导出的形式要求比较高,要求是纯数据,不能存在图片之类的富文本形式。

下面主要介绍一下导出 csv 的方式

php 官方文档 的介绍

<?php$list = array (  array('aaa', 'bbb', 'ccc', 'dddd'),  array('123', '456', '789'),  array('"aaa"', '"bbb"'));$fp = fopen('file.csv', 'w');foreach ($list as $fields) {  fputcsv($fp, $fields);}fclose($fp);?>

导出完整例子

<?php$name = 'test';header ( "Content-type:application/vnd.ms-excel" );header ( "Content-Disposition:filename=".$name.".csv" );header ('Cache-Control: max-age=0');//打开PHP文件句柄,php://output 表示直接输出到浏览器$fp = fopen('php://output', 'a');  // 写入BOM头,防止乱码fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // 生成的测试数据function test(){  for ($i=0; $i < 150000; $i++) {    yield ['name', $i, '男'];  }}// 表头$headers = ['名字', '年龄', '性别'];fputcsv($fp, $headers);foreach (test() as $value) {  fputcsv($fp, $value);}fclose($fp);?>

在 laravel 中配合 chunk 使用可以方便快速导出全部数据。

相信看了本文案例你已经掌握了方法,更多精彩请关注搞代码其它相关文章!

/本2文来源[email protected]搞@^&代*@码2网搞gaodaima代码推荐阅读:

php命名空间使用详解

thinkphp5 migrate数据库迁移使用详解

以上就是php数据导出如何实现的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php数据导出如何实现
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址