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实现查询百度google收录情况(示例代码)
Aug 02 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
php常用正则函数实例小结
Dec 29 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
PHP实现负载均衡下的session共用功能
Apr 17 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
详解vue父子组件状态同步的最佳方式
2020/09/10 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
python遍历数组的方法小结
2015/04/30 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
python装饰器常见使用方法分析
2019/06/26 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
公司领导推荐信
2013/11/12 职场文书
教师校本培训方案
2014/02/26 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
华山导游词
2015/02/03 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
python playwright之元素定位示例详解
2022/07/23 Python