php怎么压缩文件夹,PHP压缩文件夹 php

本文介绍了如何使用PHP实现一个脚本,自动扫描指定文件夹及其内容,然后压缩成.zip文件。通过递归遍历和ZipArchive类操作,简化了文件压缩过程,适用于批量管理文件。

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

$path = PUBLIC_DIR.'/images/'; //待压缩文件夹父目录

$zipPath = PUBLIC_DIR.'/images_zip/'; //压缩文件保存目录

!is_dir($zipPath) ? mkdir($zipPath, 0755, true) : '';

// Initialize archive object

$zip = new ZipArchive();

$dir_list = scandir($path);

if (empty($dir_list)) {

return false;

}

foreach($dir_list as $dir_name) {

if ($dir_name == '.' || $dir_name == '..') {

continue;

}

$dir_path = $path.$dir_name; //待压缩目录

if (!is_dir($dir_path)) {

continue;

}

$zipFile = $zipPath.$dir_name.'.zip'; //压缩包名称

$zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE);

$file_list = scandir($dir_path); //文件名

foreach ($file_list as $file_name) {

if ($file_name == '.' || $file_name == '..') {

continue;

}

$zip->addFile($dir_path.'/'.$file_name, $file_name); //第二个参数使压缩文件名为待压缩文件原名(否则压缩包里会有多级目录)

}

$zip->close();

}

待压缩文件夹:

压缩后压缩包:

打开压缩包看效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值