PHP使用ZipArchive批量打包压缩文件并下载

yizhihongxing

PHP使用ZipArchive批量打包压缩文件,并下载。使用php自带的ZipArchive类,可以压缩或解压文件。

首先需要确定已经安装了zip扩展,如果没有安装,请先安装,下载:http://pecl.php.net/package/zip (相应php版本的zip包)

PHP使用ZipArchive批量打包压缩文件并下载

 

 

先把需要下载的文件路径找出来并组成数组,如下

Array
(
    [0] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\aa.pdf
    [1] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\bb.pdf
    [2] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\cc.pdf
    [3] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\dd.pdf
    [4] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\ee.pdf
    [5] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\ff.pdf
    [6] => E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\gg.pdf
)

逻辑:先把文件压缩到指定目录(自定义$addonFile目录下),然后再把文件输出下载

代码如下:

$files = ('E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\aa.pdf','E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\bb.pdf','E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\cc.pdf','E:\phpstudy_pro\WWW\subject\public\uploads\file\tiantan\2022\dd.pdf');

// 压缩文件名
$addonFile = ROOT_PATH.'public'.DS.'uploads'.DS.'downzip'.DS.'学科评估_【'.$info['hospital'].'_'.$this->year. '年】.zip';
$zip = new \ZipArchive;

//新建zip压缩包
$zip->open($addonFile,\ZipArchive::CREATE | \ZipArchive::OVERWRITE);
//把文件一张一张加进去压缩
foreach ($files as $key => $value) {
    $zip->addFile($value,basename($value));
}
//打包zip
$zip->close();

header("Cache-Control: public"); 
header("Content-Description: File Transfer"); 
header('Content-disposition: attachment; filename='.basename($addonFile)); //文件名 
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($addonFile)); //告诉浏览器,文件大小 
readfile($addonFile);

 

原文链接:https://www.cnblogs.com/zxf100/p/17151328.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP使用ZipArchive批量打包压缩文件并下载 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • PHP文件上传后缀名与文件类型对照表整理

    关于PHP文件上传后缀名与文件类型对照表整理的攻略,可以按照以下步骤来进行。 一、了解MIME类型 在介绍文件类型对照表之前,我们需要先了解一下MIME类型。MIME类型是一种描述文档和文件性质和格式的标准化方式。在web中,MIME类型通常被用来指示文档的性质和如何处理。 例如常见的MIME类型有: text/plain 代表普通文本类型 image/jp…

    PHP 2023年5月26日
    00
  • php实现字符串首字母大写和单词首字母大写的方法

    首先,PHP自带有ucfirst()函数,可以将字符串的首字母大写。若要实现单词首字母大写,可以结合explode()函数、ucfirst()函数和implode()函数来实现。 以下是实现字符串首字母大写的示例代码: <?php $str = "hello world!"; echo ucfirst($str); //输出&quo…

    PHP 2023年5月26日
    00
  • 为什么称python为胶水语言

    为什么称Python为胶水语言 Python语言是一种高级解释型语言,由于其易于学习和开发,易于阅读和编写的语法结构,从而成为了最受欢迎的编程语言之一。 Python被称为“胶水语言”,是因为其可以简单地连接多个语言和模块,以便于开发复杂的应用程序。Python拥有丰富的开源库和模块,可轻松引入到其他语言中使用。下面的两个示例说明其用途。 Python与C+…

    PHP 2023年5月27日
    00
  • php生成器详细讲解

    以下是关于“PHP生成器详细讲解”的完整使用攻略: 基础知识 在了解PHP生成器之前,需要掌握一些基础知识,包括生成器的基本概念、生成器的应用场景、生成器的优缺点等。以下是一些常见的基础知识: 生成器的基本概念,包括生成器的定义、生成器特点等。 生成器的应用场景,包括生成器的常见应用场景、生成器的优势等。 生成器的优缺点,包括生成器的优点、生成器的缺点等。 …

    PHP 2023年5月12日
    00
  • php读取本地文件常用函数(fopen与file_get_contents)

    当我们需要在PHP中读取本地文件时,我们通常会使用两种不同的函数:fopen和file_get_contents。 fopen fopen函数用于打开一个文件,并返回其指针。我们可以使用这个指针来读取文件的内容,或者将内容写入文件中。以下是使用fopen函数读取本地文件的基本步骤: 打开文件:使用fopen函数打开文件,需要提供文件路径和打开方式(读、写、追…

    PHP 2023年5月26日
    00
  • php中的四舍五入函数代码(floor函数、ceil函数、round与intval)

    下面是关于PHP中四舍五入函数的详细攻略。 floor函数 floor函数是PHP中的向下取整函数。它接受一个参数,即需要进行取整的数值。本函数的作用是将该数值向下取整到最接近的整数。 下面是一个使用floor函数的示例: $num1 = 7.8; $num2 = -3.5; echo floor($num1); // 输出7 echo floor($num…

    PHP 2023年5月26日
    00
  • 微信小程序中显示html格式内容的方法

    要在微信小程序中显示HTML格式的内容,需要借助第三方库和组件。以下是完整攻略: 1. 导入wxParse库 在小程序的项目中,可以通过导入wxParse库实现HTML内容的渲染。 在项目中创建一个名为lib的文件夹,然后将下载好的wxParse文件夹放入此文件夹中。接着在需要使用HTML解析功能的页面中引用wxParse库。 在wxml中: <!–…

    PHP 2023年5月30日
    00
  • php笔记之:文章中图片处理的使用

    让我来详细讲解一下“PHP笔记之:文章中图片处理的使用”的完整攻略。 简介 在写文章的时候,经常会遇到需要插入图片的情况。为了提高网站的加载速度和用户体验,我们通常需要对图片进行压缩和处理。本篇笔记将介绍一些PHP中常用的图片处理库,并提供两条示例说明。 图片处理库的选择 在PHP中,常用的图片处理库有GD和Imagick。它们都提供了一些常见的图片处理功能…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部