PHP将文件夹的文件压缩到Zip包里
作者:小编日期:2023-06-30浏览:6288分类:其他分享
事情的经过是因为我正在写授权系统需要用到Zip相关的函数,因为Zip相关函数是PHP的扩展功能,之前没有了解过,还有太懒了一直拖着,直到今天我才写出来实现相关功能。
以下是代码:
<?php
/*
* Cumin云版权所有
*/
# 将文件夹的文件压缩到文件里
class Zip
{
/**
* 将目标文件夹下的内容压缩到zip中(zip包含文件夹目录)
* @param $sourcePath *文件夹路径 例: /home/test
* @param $outZipPath *zip文件名(包含路径) 例: /home/zip_file/test.zip
* @return string
*/
public static function zipFolder($sourcePath, $outZipPath)
{
$parentPath = rtrim(substr($sourcePath, 0, strrpos($sourcePath, '/')),"/")."/";
$dirName = ltrim(substr($sourcePath, strrpos($sourcePath, '/')),"/");
$sourcePath=$parentPath.'/'.$dirName;//防止传递'folder'文件夹产生bug
$z = new \ZipArchive();
$z->open($outZipPath, \ZIPARCHIVE::CREATE);//建立zip文件
$z->addEmptyDir($dirName);//建立文件夹
folderToZip($sourcePath, $z, strlen("$parentPath/"));
$z->close();
return $outZipPath;
}
public static function folderToZip($folder, &$zipFile, $exclusiveLength)
{
$handle = opendir($folder);
while (false !== $f = readdir($handle)) {
if ($f != '.' && $f != '..') {
$filePath = "$folder/$f";
// 在添加到zip之前从文件路径中删除前缀
$localPath = substr($filePath, $exclusiveLength);
if (is_file($filePath)) {
$zipFile->addFile($filePath, $localPath);
} elseif (is_dir($filePath)) {
// 添加子文件夹
$zipFile->addEmptyDir($localPath);
self::folderToZip($filePath, $zipFile, $exclusiveLength);
}
}
}
closedir($handle);
}
}相关文章
- 10-30 Zcode每天晚上免费送3亿token,量大管饱,可惜只适合夜猫子用
- 10-26 自媒体运营爆款技巧,抖音直播挂铁黑科技兵马俑软件下载入口,招募合伙人
- 10-26 Jync 捷同V1.8.0 - 极简、极速的异构数据库实时同步工具
- 10-24 一起来揭秘!抖音黑科技挂铁兵马俑涨粉主站真的有那么神奇吗?
- 10-19 0.01薅体脂称方法教程
- 10-19 豆包去印网页源码程序
- 10-17 AI漫剧真香剧里剧外,新人太猛了加入不到一个月,日入8000+
- 10-15 2026 闲鱼无货源保姆级实操课 (最新指南)
- 10-14 红果免费漫剧 —— MT管理器手机端去广告详细教程
- 10-13 低成本搞钱路子
- 10-13 抖闪闪全新首码2.0新鲜上线,模式全新升级,玩法易操作
- 10-12 松手反而赚更多?
取消回复欢迎你发表评论:
- 协助本站优化一下
- 最近发表
- 19998套精品ppt模板合集v
- 2小米全系列拍摄用预设包
- 3刷圈兔v10.2.0高级版 一键生成聊天记录 转账 红包和朋友圈动态...
- 4自购资源:800首可商用纯音乐背景bgm短视频配乐(公司宣传片游戏动画轻音乐剪辑)
- 5治愈系风景视频素材合集 空镜头vlog自媒体剪辑素材
- 6之前买的4k无版权素材 共300+套
- 7墨知v1.5.0 纯净本地阅读器 支持听书 无广告 离线也能看
- 8NVIDIA图形驱动 v 621.24
- 9IDA Pro v9.4.260714 汉化全插件美化版
- 10IDA Pro v9.5.261026 汉化完整版
- 11Adobe Premiere Pro 2027 v27.0.0.88
- 12Adobe Premiere Pro 2026 v26.5.3.7
- 13安装包制作工具v24.2.0绿色便携版
- 14Ai图片降噪Topaz Photo Pro v1.8.1.0高级版
- 15万兴全能格式转换器v18.0.5.80绿色版
Copyright© XGW9.COM版权所有〖小庚资源网〗
〖恒创科技〗为本站提供专业云计算服务
本站发布的内容来源于互联网,如果有侵权内容,请联系我们删除!E-mail:xgzyw6@outlook.com
关于我们|我要投稿|免责声明|XML地图


暂无评论,来添加一个吧。