php多文件打包下载的实例代码
最近整理文档,搜刮出一个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/ThinkPHP实现批量打包下载文件的方法示例
前言 本文主要给大家介绍的是关于PHP/ThinkPHP实现批量打包下载文件的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍: 需求描述: 有数个文件,包含图片,文档.需要根据条件自动打包成压缩包,提供下载. 解决(ZipArchive 类): PHP提供了ZipArchive 类可为我们实现这一功能,demo: <?php $files = array('image.jpeg','text.txt','music.wav'); $zipname = 'enter_any_n
-
PHP实现图片批量打包下载功能
上次遇到一个需要打包下载批量图片的问题,找了一下发现这个好方法,记录一下. 首先新建一个zipfile打包类: <?php class zipfile { var $datasec = array (); var $ctrl_dir = array (); var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; var $old_offset = 0; function unix2_dostime($unixtime = 0
-
PHP在线打包下载功能示例
本文实例讲述了PHP在线打包下载功能实现方法.分享给大家供大家参考,具体如下: 昨天晚上,为了弄这个打包下载的事,弄的事焦头烂额.有几个问题,第一个是开始PHP_ZIP.dll的问题.话说只要把PHP.INI里面的extend_dir里面的前的";"号去掉.再重启IIS或者apache就可以了. 问题是老是找不到系统配置的真正的PHP.INI. PHP配置图 第二个是告诉你配置文档的路径,按着找就可以了.我当时脑袋秀逗了,浪费了很多时间. 这个开启PHP_ZIP扩展库以后,就可以开始打
-
几行代码轻松实现PHP文件打包下载zip
本文实例为大家分享了PHP文件打包下载zip的具体代码,供大家参考,具体内容如下 <?php //获取文件列表 function list_dir($dir){ $result = array(); if (is_dir($dir)){ $file_dir = scandir($dir); foreach($file_dir as $file){ if ($file == '.' || $file == '..'){ continue; } elseif (is_dir($dir.$file))
-
php多文件打包下载的实例代码
最近整理文档,搜刮出一个php多文件打包下载的实例代码,稍微整理精简一下做下分享. 需要同时下载多个文件时,大部分浏览器都不支持多文件同时下载,可以采用JavaScript脚本动态生成多个链接,但是需要用户多次点击下载对话框,用户体验不好,并且有些浏览器还不兼容.此时多文件打包下载帮你解决这个问题. $filename = "test.zip"; $datalist=array('./pubfile/1.jpg','./pubfile/2.jpg'); if(!file_exists(
-
java文件下载代码实例(单文件下载和多文件打包下载)
这篇文章主要介绍了java文件下载代码实例(单文件下载和多文件打包下载),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近项目有需要写文件下载相关代码,这边提交记录下相关代码模块,写的不太好,后期再优化相关代码,有好的建议,可留言,谢谢. 1)单文件下载 public String oneFileDownload(HttpServletRequest request,HttpServletResponse response){ //针对需求需
-
Struts2 控制文件上传下载功能实例代码
之前介绍servlet3.0新特性的时候有提到过servlet API提供了一个part类来实现对文件的上传和保存,Struts其实是在其基础上做了进一步的封装,更加简单易用.至于文件下载,Struts贯彻AOP 思想,在下载之前提供对用户权限控制的API. 下面我们将详细介绍上传和下载的相关内容. 一.Struts文件上传机制 想要实现文件上传功能,页面的表单的method属性必须被指定为post,还有enctype属性必须为multipart/form-data,该值表示上传的内容将会以二进
-
SpringMVC+Ajax实现文件批量上传和下载功能实例代码
今天做了文件的上传下载,小小总结一下,基本的web项目建立及SpringMVC框架搭建此处不详细写出来了. 上传form: <form id="uploadfiles" enctype="multipart/form-data"> <input type="file" multiple="multiple" id="file_upload" name="file_upload&q
-
微信服务器中下载文件到本地的实例代码
从微信服务器中下载文件到本地的实例代码,如下所示: //从微信服务器中下载文件到本地 public JsonResult UploadRecord(string ServerId) { try { member m = base.CurrentUser; string msg = "成功"; bool success = true; SiteSettingsInfo setting = base.CurrentSiteSetting; string file = string.Empt
-
java中压缩文件并下载的实例详解
当我们对一些需要用到的资料进行整理时,会发现文件的内存占用很大,不过是下载或者存储,都不是很方便,这时候我们会想到把文件变成zip格式,即进行压缩.在正式开始压缩和下载文件之前,我们可以先对zip的格式进行一个了解,然后再就具体的方法给大家带来分享. 1.ZIP文件格式 [local file header + file data + data descriptor]{1,n} + central directory + end of central directory record 即 [文件
-
微信语音上传 下载功能实例代码
假如现在有一个按钮 <div class="inp_btn voice_btn active" id="record"> 按住 说话 </div> 下面就是调用微信jssdk的方法 var recorder; var btnRecord = $('#record'); var startTime = 0; var recordTimer = 300; // 发语音 $.ajax({ url: 'url请求需要微信的一些东西 下面success
-
BootStrap fileinput.js文件上传组件实例代码
1.首先我们下载好fileinput插件引入插件 <span style="font-size:14px;"><link type="text/css" rel="stylesheet" href="fileinput/css/fileinput.css" rel="external nofollow" /> <script type="text/javascript
-
Android中使用七牛云存储进行图片上传下载的实例代码
Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了. 可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端
随机推荐
- ExtJS4利根据登录后不同的角色分配不同的树形菜单
- PostgreSQL教程(三):表的继承和分区表详解
- 层序遍历在ExtJs的TreePanel中的应用
- 详解Windows下的权限设置方法
- Android 获取屏幕高度,标题高度,状态栏高度(实例代码)
- Ajax 验证用户输入的验证码是否与随机生成的一致
- ajax内部值外部调用不了的原因及解决方法
- python logging 日志轮转文件不删除问题的解决方法
- MySQL的安全问题从安装开始说起
- 详解Docker源码编译安装
- JSONP跨域的原理解析及其实现介绍
- FormValidate 表单验证功能代码更新并提供下载
- js控制input输入字符解析
- javascript 两种声明函数的方式的分析
- javascript实现状态栏中文字动态显示的方法
- 服务器网站分离 给每个IIS站点建立一个用户第1/2页
- jQuery基于图层模仿五星星评价功能的方法
- jQuery过滤特殊字符及JS字符串转为数字
- Nginx和Apache几种防盗链配置方法实例
- Android中WebChromeClient和WebViewClient的区别浅析