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将会员数据导入到ucenter的代码
Jul 18 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
深入解析php之sphinx
May 15 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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加速 eAccelerator配置和使用指南
2009/06/05 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
php编程每天必学之表单验证
2016/03/01 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
php支付宝APP支付功能
2020/07/29 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
js的with语句使用方法
2007/09/21 Javascript
js类中的公有变量和私有变量
2008/07/24 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
javascript常用方法汇总
2014/12/02 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
Django中的用户身份验证示例详解
2019/08/07 Python
python SocketServer源码深入解读
2019/09/17 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
django 模型中的计算字段实例
2020/05/19 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
大学生在校学习的自我评价
2014/02/18 职场文书
抽奖活动主持词
2014/03/31 职场文书
超市周年庆活动方案
2014/08/16 职场文书
护理专业自我评价
2015/03/11 职场文书