php利用ZipArchive类实现文件压缩与解压

github项目

1、Linux 安装zlib库

XML 复制代码
cd /usr/local/src
wget https://zlib.net/current/zlib.tar.gz
tar -zxvf zlib.tar.gz
cd zlib-1.3
./configure
make && make install

2、zlib的使用

php 复制代码
         $all_name = 'all.zip';
        // 创建ZipArchive对象
        $zip_all = new ZipArchive();
        if ($zip_all->open('all.zip', ZipArchive::CREATE) === TRUE) {
             $zip_all->addFile(dirname(dirname(__FILE__)) .'666.docx', '666.docx');
            // 关闭Zip文件
            $zip_all->close();
        }
        //下载Zip文件到本地
        header('Content-Type: application/zip');
        header('Content-disposition: attachment; filename=' . $all_name . '');
        header('Content-Length: ' . filesize($all_name));
        readfile($all_name);
        unlink($all_name);
        exit;

3、方法参考链接

相关推荐
云空29 分钟前
《Three.js 3D实例大全》
开发语言·javascript·3d·three.js
techdashen39 分钟前
Go 1.26 新增 `bytes.Buffer.Peek`:只看数据,不移动读取位置
开发语言·后端·golang
C137的本贾尼1 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
从零开始的代码生活_2 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
hy.z_7772 小时前
【C语言】11. 深入理解指针1
c语言·开发语言
charlie1145141912 小时前
现代C++工程实践——WeakPtr 第二关:核心骨架与控制块
开发语言·c++
ttwuai3 小时前
Go 后台接口 401/403 排查:JWT 过期、刷新请求和权限码怎么定位
开发语言·golang·状态模式
漫随流水3 小时前
Java——springboot web案例
java·开发语言·spring boot
从此以后自律4 小时前
Java Object 类常用方法全讲解
java·开发语言
XH华4 小时前
C++语言第二章类和对象(下)
开发语言·c++