PHP使用ZipArchive对文件进行批量打包下载
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对文件进行批量打包下载相关推荐
- 阿里云OSS文件批量打包下载
阿里云OSS文件批量打包下载 public void downloadReport(List<String> fileNames,HttpServletResponse response) ...
- JAVA实现文件批量打包下载
JAVA实现文件批量打包下载 实现 1.打包工具类的实现 /*** @author zhouxuan* @since 2019/4/19*/ public class ZipUtils {/*** @ ...
- java文件下载功能代码(单文件下载、多文件批量打包下载)——普遍适用
一.前言 程序员在做web等项目的时候,往往都需要添加文件上传.下载.删除的功能,有时是单文件,有时多文件批量 操作,而这些功能的代码程序员可以自己收藏起来当成工具使用,这样,程序员在进行程序设计 ...
- 批量打包下载阿里OSS文件
有需求的地方就有方法,批量下载oss文件,上一章说的是从前端的角度实现批量一个个间断性下载,但是存在一定问题(1.用户体验不好,2.多次下载或弹窗需要修改浏览器配置,且有时候存在请求被取消的风险,操作 ...
- 前端批量打包下载文件
最近有个需求需要前端批量打包文件的需求,然后经过搜索,使用到了 jszip 和 file-saver 这两个 js 插件. jszip 压缩插件,这个插件用起来个人觉得还算比较容易,官方文档下,仅仅需 ...
- ASP.NET多文件批量打包下载
在项目实施中,遇到了将多个文件一起打包后,提供给用户下载.如:在一个ASP.NET的开发项目中,通过一个GridView选中对应行数据的CheckBox,就可以实现对选中文件的打包下载了. 在对多文件 ...
- php 打包下载网络图片,PHP实现图片批量打包下载功能
上次遇到一个需要打包下载批量图片的问题,找了一下发现这个好方法,记录一下. 首先新建一个zipfile打包类: class zipfile { var $datasec = array (); var ...
- vue实现前台生成word并下载,并且可实现批量打包下载
一.引用场景: 前面的一个项目里面有一个申报表,后台收集的申报表需要批量导出,一开始我是用到的C#的WordOpApControlle,但是这种方法存在一个难以解决的问题.就是当你导出的这个word模 ...
- 字符串生成二维码并且批量打包下载
所需依赖包 qrcode 二维码生成的插件库 jszip 用来打包压缩的一个库 file-saver 文件保存下载的插件库 npm install jszip npm install file-sav ...
最新文章
- mongo explain分析详解
- 重装IDEA再也不愁了,一招搞定同步个人配置!
- 【SSM框架系列】Spring - JdbcTemplate声明式事务
- rust相框加载图片代码_Rust 能取代 Python,更好的实现神经网络?
- Codeforces Round #496 (Div. 3)【未完结】
- 通过相似性或相异指数的数值分布比较群落Beta多样性高低
- why our extension project didn't load S3 view and controller
- 机器学习在本体中的应用研究文献综述
- Mysql代码生成器转Oracle代码生成
- SQLServer2005出了点怪事~(应该是编码问题~)
- 轻松搞定vmware + win2003Cluste
- Android Fragment切换动画效果
- Keil5下载和安装教程
- 自助任务平台WQ5.5.6源码对接微信带分类信息线报赏金赚悬赏猫驴赚网版本
- Python3之pip加速
- 回顾计算机主板中南北桥的作用
- php怎么把时间精确到毫秒,PHP date日期格式化精确到毫秒ms/微秒µs (000000问题)...
- windos10系统 激活
- linux——signal信号(SIGHUP、SIGINT、SIGQUIT、SIGILL、SIGTRAP、SIGABRT...........................)
- IPv6系列-彻底弄明白有状态与无状态配置IPv6地址
热门文章
- 搭建FitNesse框架
- js判断多个数组之间是否存在交集
- 832计算机技术,2017年北方民族大学计算机应用技术832C语言程序设计与数据结构之数据结构考研题库...
- HTML5期末考核大作业:美食主题网站设计——沪上美食(9页)带Flash动画视频导航下拉表单 HTML+CSS+JavaScript
- taobao.item.templates.get( 获取用户宝贝详情页模板名称 )
- JavaScript制作简易单词测试题库
- vim编辑器显示字体颜色
- Mission Planner初学者安装调试教程指南(APM或PIX飞控)4——校准加速度计、指南针、遥控器、设置飞行模式
- vue滑动图片验证的方式
- 华为、小米轮番超越三星激动人心,且莫沸腾,三星和苹果优势仍在