php 自带扩展zip压缩文件 文件夹 和用exec执行linux命令压缩文件

本文介绍两种使用PHP进行文件压缩的方法:一是利用PHP内置的ZipArchive类实现递归压缩;二是通过PHP的exec函数调用Linux的zip命令进行压缩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1  用php自带ZipArchive类

public function test(){
    $export_dir = "../web";
    $export_name = "../test.zip";
    $zip = new \ZipArchive();
    if(!$zip->open($export_name,\ZIPARCHIVE::CREATE))
    {
        echo "创建[$export_name.zip]失败<br/>";return;
    }
    $this->createZip($export_dir,$zip);
    $zip->close();
}

调用自己写的压缩方法

public function createZip($dir,$zipObj)
{
    $dir_source = opendir($dir);
    while(($file = readdir($dir_source)) != false)
    {
        if($file=="." || $file=="..") continue;

        $sub_file = $dir.'/'.$file;
        if(is_dir($sub_file))
        {
            $zipObj->addEmptyDir($sub_file);
            $this->createZip($sub_file,$zipObj);
        }
        if(is_file($sub_file))
        {
            $zipObj->addFile($sub_file);
        }
    }
}

亲测有效 可以递归压缩子文件夹



2 。用php的exec执行linux zip命令

exec('zip -r ../../web.zip ../web');die;

前面的是你压缩后的地址 。第二个地址是你要压缩的目标文件或文件夹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值