为了账号安全,请及时绑定邮箱和手机立即绑定

PHP实现大量数据的后端压缩与打包下载

PHP实现大量数据的后端压缩与打包下载

PHP
慕沐林林 2018-09-02 12:42:31
遇到了一个需要打包下载图片的需求.图片的规模应该在x10的5次方左右,整体体积应该在数GB.如果直接先压缩,然后返回一个地址让客户端去下载,中间必定会出现一个很长时间的一个操作空白期,同时还无法保证这个空白期用户会不会关掉连接.所以考虑使用一遍压缩一遍下载的方案(流式下载),虽然牺牲掉了显示进度的功能,但是至少不会出现一个很长时间的空白时间段.类似的功能例如phpmyadmin的导出(这个没有压缩,我已经能实现了),GitHub的仓库的打包下载(确定有压缩,考虑到他在下载的时候也不知道最终体积,所以考虑是实现了流式压缩下载)网上搜过一些相关的资料,不过大多都是先压缩后下载的方案,在大数据量下估计是没法用.想问一下有没有哪位大佬做过类似功能,能帮忙讲解一下算法或者提供几个关键词好让我去搜索一波.目前使用的关键词:php zip 流式 下载 压缩
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

已经解决了,用的是从PHPmyadmin中抠出来的一个叫ZipFile的类。

查看完整回答
反对 回复 2018-09-02
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

有个问题,你的下载是很多人一起下载吗?还是只有几个人?
很多人的情况下,你这个方法会出问题的:
每个用户下载会占用一个进程,你同时下载的用户有多少?你又给PHP-fpm开了几个进程?如果进程跑满了,其他人这时候都只能等待

查看完整回答
反对 回复 2018-09-02
  • 2 回答
  • 0 关注
  • 1297 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信