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 zlib压缩和解压缩swf文件的代码
Dec 30 PHP
基于HTTP长连接的"服务器推"技术的php 简易聊天室
Oct 31 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
php检测图片木马多进制编程实践
Apr 11 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
PHP生成随机码的思路与方法实例探索
Apr 11 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
thinkphp 框架数据库切换实现方法分析
May 18 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
php递归函数怎么用才有效
2018/02/24 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
javascript比较文档位置
2008/04/08 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
loading动画特效小结
2017/01/22 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
JavaScript工具库MyTools详解
2020/01/01 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
在Django的模型中添加自定义方法的示例
2015/07/21 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
python匿名函数的使用方法解析
2019/10/10 Python
pytorch中图像的数据格式实例
2020/02/11 Python
Python实现ATM系统
2020/02/17 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
导游实习生自荐书
2014/01/28 职场文书
一句话工作感言
2014/03/01 职场文书
房地产项目建议书
2014/03/12 职场文书
新品发布会策划方案
2014/06/08 职场文书
销售员态度差检讨书
2014/10/26 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python