php 遍历文件夹并压成zip_php ZipArchive实现多文件打包下载实例
实例代码:
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实现多文件打包下载实例相关推荐
- php 遍历文件夹并压成zip_php - 遍历目录并下载文件
问 题 比方说我要把同一目录下的一个文件夹里面的所有文件下载下来,代码要怎么写,文件夹里面包含php.text.图片.js.css 解决方案 之前网上看到的一个,你可以参考下. //获取文件列表 fu ...
- php 复制文件夹并压缩到最小_【实用】PHP实现下载与压缩文件的一些方法的封装与整理...
[实用]PHP实现下载与压缩文件的一些方法的封装与整理 龙行 PHP 2019-3-11 1590 1评论 一.PHP实现打包zip并下载功能 $file_template = ...
- php 复制文件夹并压缩到最小_php压缩多个文件打包成zip并下载到本地
完成时间:2018-01-03 展现方式:整个相册图片的导出(下载到本地)直接在页面上生成下载没有什么另存为什么默认路径 基本步骤: 1.用户点击按钮跳转到对应相册导出的方法 ---->2.在方 ...
- win7压缩文件夹怎么压缩到最小
在我们日常使用win7系统的过程中,压缩文件作为经常使用的东西相信很多小伙伴都对它不陌生,由于其占用空间小,所以网站下载的文件大多都是压缩包格式.很多时候我们和朋友分享文件也以压缩包的形式传输.接下来 ...
- 在windows上解压linux文件夹,Win10如何使用命令行来解压缩文件?
Win10如何使用命令行来解压缩文件?大家都知道电脑的硬盘空间是有限的,如果你的硬盘空间比较紧张,那么使用命令行来解压缩文件不失为一个好方法.和ZIP文件压缩或者RAR文件压缩相比,使用命令行来解压缩 ...
- ZIP文件夹解压小程序
第1关:ZIP文件夹解压小程序之文件压缩 任务描述 相关知识 编程要求 测试说明 任务描述 本关任务:实现压缩文件或文件夹的功能. 相关知识 ZIP 是一种较为常见的压缩形式,在 Java 中要想实现 ...
- 【QT】遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名
[QT]遍历文件夹和文件目录,并过滤和获取文件信息.后缀名.前缀名 前言: 需要在特定目录或磁盘下查找特定文件 一.筛选目录 (一)单一目录下遍历,筛选特定文件 QDir dir("./Sa ...
- 电脑文件管理,批量将文件夹名称改成统一名称并添加编号的方法
最近有很多朋友在问,如何将文件夹的名称改为一样的名称并添加编号呢?今天小编给大家分享一个新的处理技巧,下面一起来试试,希望能给大家带来帮助. 需要哪些工具? 文件夹素材若干 怎么快速改名? 运行[文件 ...
- sudo修改文件夹名字_用 Python 高效智能管理文件夹
#「闪光时刻」主题征文 二期# 大家在写报告.写总结时,是否会先去翻一下以前写过的类似的东西?是否有看过比较好的文章,想保存时却为归类而纠结?是否电脑里的文件越来越多,想删掉一些却又舍不得?身处大数据 ...
最新文章
- 得到最后的自增长列的最后一个值
- java web service_怎样新建一个Java的Web Service
- 如何去掉文章里的非关键词c++_平台运营|阿里国际站代码查找产品三个关键词的方法...
- php 判断手机和电脑,php 判断是手机版还是电脑端
- SAP CRM WebClient UI F4 value help is centrally implemented in CRM_THTMLB_UTIL/F4Frameset.html
- linux读整个文件内容,Linux查看整个文件
- axios post请求
- 高效排错系列--摘要
- 《计算复杂性:现代方法》——第0章 记 号 约 定 0.1 对象的字符串表示
- oracle补丁类型
- axios请求失败重新发起请求_axios请求超时,设置重新请求的完美解决方法
- Tomas Mikolov's Recurrent Neural Networks Language Modeling Toolkit
- 苏轼眼里看到的技术世界(一)
- 20165309 实验四 Android程序设计
- 4底2分化查找程序的作业树
- 各种破解软件方法汇总
- python3 规则引擎_Ilog、Drools、Jess规则引擎的Rule Language 对比
- IBM X 3650 M3服务器RAID0设置
- 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年3月份最新版)
- Revit插件快速提高建模的效率,分别都有那种功能revit插件