php多文件打包下载的实例代码


Posted in PHP onJuly 12, 2017

最近整理文档,搜刮出一个php多文件打包下载的实例代码,稍微整理精简一下做下分享。

需要同时下载多个文件时,大部分浏览器都不支持多文件同时下载,可以采用JavaScript脚本动态生成多个链接,但是需要用户多次点击下载对话框,用户体验不好,并且有些浏览器还不兼容。此时多文件打包下载帮你解决这个问题。

$filename = "test.zip";
$datalist=array('./pubfile/1.jpg','./pubfile/2.jpg');
if(!file_exists($filename)){
 $zip = new ZipArchive();
 if ($zip->open($filename, ZipArchive::CREATE)==TRUE) {
  foreach( $datalist as $val){
   if(file_exists($val)){
    $zip->addFile( $val, basename($val));
   }
  }
  $zip->close();
 }
}
if(!file_exists($filename)){
 exit("无法找到文件");
}
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.basename($filename)); //文件名
header("Content-Type: application/zip"); //zip格式的
header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件
header('Content-Length: '. filesize($filename)); //告诉浏览器,文件大小
@readfile($filename);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP开发文件系统实例讲解
Oct 09 PHP
PHP新手上路(五)
Oct 09 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
Nov 04 PHP
php 5.6版本中编写一个PHP扩展的简单示例
Jan 20 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
示例详解Laravel的注册重构
Aug 14 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
php实现网页端验证码功能
Jul 11 #PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 #PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 #PHP
yii2局部关闭(开启)csrf的验证的实例代码
Jul 10 #PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 #PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 #PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 #PHP
You might like
php 进度条实现代码
2009/03/10 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
小程序实现留言板
2018/11/02 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
Python利用IPython提高开发效率
2016/08/10 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
Python实现随机爬山算法
2021/01/29 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
分公司经理岗位职责
2013/11/11 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
六个一活动实施方案
2014/03/21 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
《圆的周长》教学反思
2016/02/17 职场文书