实例代码:

public function downLoad($dataUrl,$saveName)

{

$datalist = [

ROOT_PATH.'/public/introduce/110.docx',ROOT_PATH.'/public/upfile/110.zip'

];

// print_r($datalist);die;

$filename = ROOT_PATH.'\public\/'.$saveName.'.zip';

if(file_exists($filename)){

unlink($filename);

}

$zip = new \ZipArchive();

if ($zip->open($filename,\ZipArchive::CREATE)!== true){

exit('无法打开文件,或者文件创建失败');

}

foreach ($dataUrl as $index => $item) {

if (DIRECTORY_SEPARATOR=='\\'){

$item = str_replace('/',DIRECTORY_SEPARATOR,$item);

$filename = str_replace('/',$filename);

}

// var_dump($item);

// var_dump(file_exists($item));die;

if (file_exists($item)){

$zip->addFile($item,basename($item));

}

}

$zip->close();

if(!file_exists($filename)){

exit("无法找到文件"); //即使创建,仍有可能失败

}

header('Content-Type: application/zip');

header('Content-disposition: attachment; filename='.basename($filename));

header('Content-Length: ' . filesize($filename));

@readfile($filename);

@unlink ( $filename );

}

注意:里面的路径全部用绝对路径,不然会找不到文件

附赠其他操作:

解压缩zip文件

public function unzip_file($file,$dir){

// 实例化对象

$zip = new ZipArchive() ;

//打开zip文档,如果打开失败返回提示信息

if ($zip->open($file) !== TRUE) {

die ("Could not open archive");

}

//将压缩文件解压到指定的目录下

$zip->extractTo($dir);

//关闭zip文档

$zip->close();

}

获取解压文件目录

public function loopFun($dir)

{

$handle = opendir($dir.".");

//定义用于存储文件名的数组

$array_file = array();

while (false !== ($file = readdir($handle)))

{

if ($file != "." && $file != "..") {

$array_file[] = $dir.'/'.$file; //输出文件名

}

}

closedir($handle);

return $array_file;

//print_r($array_file);

}

大家可以在本地测试下,感谢大家的学习和对我们的支持。

php 遍历文件夹并压成zip_php ZipArchive实现多文件打包下载实例相关推荐

  1. php 遍历文件夹并压成zip_php - 遍历目录并下载文件

    问 题 比方说我要把同一目录下的一个文件夹里面的所有文件下载下来,代码要怎么写,文件夹里面包含php.text.图片.js.css 解决方案 之前网上看到的一个,你可以参考下. //获取文件列表 fu ...

  2. php 复制文件夹并压缩到最小_【实用】PHP实现下载与压缩文件的一些方法的封装与整理...

    [实用]PHP实现下载与压缩文件的一些方法的封装与整理 龙行    PHP    2019-3-11    1590    1评论 一.PHP实现打包zip并下载功能 $file_template = ...

  3. php 复制文件夹并压缩到最小_php压缩多个文件打包成zip并下载到本地

    完成时间:2018-01-03 展现方式:整个相册图片的导出(下载到本地)直接在页面上生成下载没有什么另存为什么默认路径 基本步骤: 1.用户点击按钮跳转到对应相册导出的方法 ---->2.在方 ...

  4. win7压缩文件夹怎么压缩到最小

    在我们日常使用win7系统的过程中,压缩文件作为经常使用的东西相信很多小伙伴都对它不陌生,由于其占用空间小,所以网站下载的文件大多都是压缩包格式.很多时候我们和朋友分享文件也以压缩包的形式传输.接下来 ...

  5. 在windows上解压linux文件夹,Win10如何使用命令行来解压缩文件?

    Win10如何使用命令行来解压缩文件?大家都知道电脑的硬盘空间是有限的,如果你的硬盘空间比较紧张,那么使用命令行来解压缩文件不失为一个好方法.和ZIP文件压缩或者RAR文件压缩相比,使用命令行来解压缩 ...

  6. ZIP文件夹解压小程序

    第1关:ZIP文件夹解压小程序之文件压缩 任务描述 相关知识 编程要求 测试说明 任务描述 本关任务:实现压缩文件或文件夹的功能. 相关知识 ZIP 是一种较为常见的压缩形式,在 Java 中要想实现 ...

  7. 【QT】遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名

    [QT]遍历文件夹和文件目录,并过滤和获取文件信息.后缀名.前缀名 前言: 需要在特定目录或磁盘下查找特定文件 一.筛选目录 (一)单一目录下遍历,筛选特定文件 QDir dir("./Sa ...

  8. 电脑文件管理,批量将文件夹名称改成统一名称并添加编号的方法

    最近有很多朋友在问,如何将文件夹的名称改为一样的名称并添加编号呢?今天小编给大家分享一个新的处理技巧,下面一起来试试,希望能给大家带来帮助. 需要哪些工具? 文件夹素材若干 怎么快速改名? 运行[文件 ...

  9. sudo修改文件夹名字_用 Python 高效智能管理文件夹

    #「闪光时刻」主题征文 二期# 大家在写报告.写总结时,是否会先去翻一下以前写过的类似的东西?是否有看过比较好的文章,想保存时却为归类而纠结?是否电脑里的文件越来越多,想删掉一些却又舍不得?身处大数据 ...

最新文章

  1. 得到最后的自增长列的最后一个值
  2. java web service_怎样新建一个Java的Web Service
  3. 如何去掉文章里的非关键词c++_平台运营|阿里国际站代码查找产品三个关键词的方法...
  4. php 判断手机和电脑,php 判断是手机版还是电脑端
  5. SAP CRM WebClient UI F4 value help is centrally implemented in CRM_THTMLB_UTIL/F4Frameset.html
  6. linux读整个文件内容,Linux查看整个文件
  7. axios post请求
  8. 高效排错系列--摘要
  9. 《计算复杂性:现代方法》——第0章 记 号 约 定 0.1 对象的字符串表示
  10. oracle补丁类型
  11. axios请求失败重新发起请求_axios请求超时,设置重新请求的完美解决方法
  12. Tomas Mikolov's Recurrent Neural Networks Language Modeling Toolkit
  13. 苏轼眼里看到的技术世界(一)
  14. 20165309 实验四 Android程序设计
  15. 4底2分化查找程序的作业树
  16. 各种破解软件方法汇总
  17. python3 规则引擎_Ilog、Drools、Jess规则引擎的Rule Language 对比
  18. IBM X 3650 M3服务器RAID0设置
  19. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年3月份最新版)
  20. Revit插件快速提高建模的效率,分别都有那种功能revit插件

热门文章

  1. 自由软件之父回归 FSF,遭 1933 人、21 家组织联名抵制!
  2. 关键时刻卡成狗,测网速要成上网必备动作了?
  3. 来看看优酷是如何测试 App 响应式布局的!
  4. 借势新基建,如何在智能基础设施布一盘大局?
  5. YGC 问题排查,又涨姿势了!
  6. 无代码来了,还要程序员吗?
  7. 华为云跻身Gartner报告中国三强,预示云计算市场的未来变局?
  8. 明晚 8 点,为你揭秘「AI 换脸术」:剧照 or 视频换脸背后的核心技术与应用
  9. 荣耀30S首销全平台夺冠 赵明:满足消费者对5G的所有需求和想象
  10. Python 爬取考研数据:所有 985 高校、六成 211 高校均可调剂!