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 Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
preg_match_all使用心得分享
Jan 31 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
php实现对象克隆的方法
Jun 20 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
CI框架数据库查询之join用法分析
May 18 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
php smtp实现发送邮件功能
Jun 22 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 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学习之 循环结构实现代码
2011/06/09 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
Javascript变量作用域详解
2013/12/06 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
vue中路由跳转不计入history的操作
2020/09/21 Javascript
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
利用Python爬取可用的代理IP
2016/08/18 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
使用python模拟命令行终端的示例
2019/08/13 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
如何现实servlet的单线程模式
2014/08/05 面试题
房地产推广策划方案
2014/05/19 职场文书
继续教育个人总结
2015/03/03 职场文书
2015年技术员工作总结
2015/04/10 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
python接口测试返回数据为字典取值方式
2022/02/12 Python