PHP使用ZipArchive对文件进行批量打包下载

话不多说直接上图

DEMO 代码示例

<?php$file = $_GET['file'];//文件判断,无文件阻止if(!$file){echo"<script>alert('当前没有文件可供批量下载');history.go(-1);</script>";  return false;}//文件名字符串处理$file = substr($file,0,-1);$files = explode(",", $file);//生成打包zip文件名$zipname = date('YmdHis',time())+rand(1000,9999).".zip";//ZipArchive处理$zip = new ZipArchive;$zip->open($zipname, ZipArchive::CREATE);foreach ($files as $file) {$zip->addFile("./sites/default/files/".$file,"./".$file);}$zip->close();//下载zip文件header('Content-Type: application/zip');header('Content-disposition: attachment; filename='.$zipname);header('Content-Length: ' . filesize($zipname));readfile($zipname);//销毁服务器zip文件@unlink($zipname );

PHP使用ZipArchive对文件进行批量打包下载相关推荐

  1. 阿里云OSS文件批量打包下载

    阿里云OSS文件批量打包下载 public void downloadReport(List<String> fileNames,HttpServletResponse response) ...

  2. JAVA实现文件批量打包下载

    JAVA实现文件批量打包下载 实现 1.打包工具类的实现 /*** @author zhouxuan* @since 2019/4/19*/ public class ZipUtils {/*** @ ...

  3. java文件下载功能代码(单文件下载、多文件批量打包下载)——普遍适用

    一.前言   程序员在做web等项目的时候,往往都需要添加文件上传.下载.删除的功能,有时是单文件,有时多文件批量 操作,而这些功能的代码程序员可以自己收藏起来当成工具使用,这样,程序员在进行程序设计 ...

  4. 批量打包下载阿里OSS文件

    有需求的地方就有方法,批量下载oss文件,上一章说的是从前端的角度实现批量一个个间断性下载,但是存在一定问题(1.用户体验不好,2.多次下载或弹窗需要修改浏览器配置,且有时候存在请求被取消的风险,操作 ...

  5. 前端批量打包下载文件

    最近有个需求需要前端批量打包文件的需求,然后经过搜索,使用到了 jszip 和 file-saver 这两个 js 插件. jszip 压缩插件,这个插件用起来个人觉得还算比较容易,官方文档下,仅仅需 ...

  6. ASP.NET多文件批量打包下载

    在项目实施中,遇到了将多个文件一起打包后,提供给用户下载.如:在一个ASP.NET的开发项目中,通过一个GridView选中对应行数据的CheckBox,就可以实现对选中文件的打包下载了. 在对多文件 ...

  7. php 打包下载网络图片,PHP实现图片批量打包下载功能

    上次遇到一个需要打包下载批量图片的问题,找了一下发现这个好方法,记录一下. 首先新建一个zipfile打包类: class zipfile { var $datasec = array (); var ...

  8. vue实现前台生成word并下载,并且可实现批量打包下载

    一.引用场景: 前面的一个项目里面有一个申报表,后台收集的申报表需要批量导出,一开始我是用到的C#的WordOpApControlle,但是这种方法存在一个难以解决的问题.就是当你导出的这个word模 ...

  9. 字符串生成二维码并且批量打包下载

    所需依赖包 qrcode 二维码生成的插件库 jszip 用来打包压缩的一个库 file-saver 文件保存下载的插件库 npm install jszip npm install file-sav ...

最新文章

  1. mongo explain分析详解
  2. 重装IDEA再也不愁了,一招搞定同步个人配置!
  3. 【SSM框架系列】Spring - JdbcTemplate声明式事务
  4. rust相框加载图片代码_Rust 能取代 Python,更好的实现神经网络?
  5. Codeforces Round #496 (Div. 3)【未完结】
  6. 通过相似性或相异指数的数值分布比较群落Beta多样性高低
  7. why our extension project didn't load S3 view and controller
  8. 机器学习在本体中的应用研究文献综述
  9. Mysql代码生成器转Oracle代码生成
  10. SQLServer2005出了点怪事~(应该是编码问题~)
  11. 轻松搞定vmware + win2003Cluste
  12. Android Fragment切换动画效果
  13. Keil5下载和安装教程
  14. 自助任务平台WQ5.5.6源码对接微信带分类信息线报赏金赚悬赏猫驴赚网版本
  15. Python3之pip加速
  16. 回顾计算机主板中南北桥的作用
  17. php怎么把时间精确到毫秒,PHP date日期格式化精确到毫秒ms/微秒µs (000000问题)...
  18. windos10系统 激活
  19. linux——signal信号(SIGHUP、SIGINT、SIGQUIT、SIGILL、SIGTRAP、SIGABRT...........................)
  20. IPv6系列-彻底弄明白有状态与无状态配置IPv6地址

热门文章

  1. 搭建FitNesse框架
  2. js判断多个数组之间是否存在交集
  3. 832计算机技术,2017年北方民族大学计算机应用技术832C语言程序设计与数据结构之数据结构考研题库...
  4. HTML5期末考核大作业:美食主题网站设计——沪上美食(9页)带Flash动画视频导航下拉表单 HTML+CSS+JavaScript
  5. taobao.item.templates.get( 获取用户宝贝详情页模板名称 )
  6. JavaScript制作简易单词测试题库
  7. vim编辑器显示字体颜色
  8. Mission Planner初学者安装调试教程指南(APM或PIX飞控)4——校准加速度计、指南针、遥控器、设置飞行模式
  9. vue滑动图片验证的方式
  10. 华为、小米轮番超越三星激动人心,且莫沸腾,三星和苹果优势仍在