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 相关文章推荐
我的论坛源代码(六)
Oct 09 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
自己写了一个php检测文件编码的函数
Apr 21 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
php绘制一条弧线的方法
Jan 24 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
PHP中子类重载父类的方法【parent::方法名】
May 06 PHP
php简单的上传类分享
May 15 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 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 网上商城促销设计实例代码
2012/02/17 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
用javascript连接access数据库的方法
2006/11/17 Javascript
JS window.opener返回父页面的应用
2009/10/24 Javascript
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
Python 3.x 新特性及10大变化
2015/06/12 Python
python列表的常用操作方法小结
2016/05/21 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
英国现代市场:ARKET
2019/04/10 全球购物
电焊工岗位职责
2014/03/06 职场文书
法人代表委托书
2014/04/04 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
2014年财务科工作总结
2014/11/11 职场文书
高三毕业评语
2014/12/31 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python