前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PhalApi-Zip--压缩文件处理类

PhalApi-Zip--压缩文件处理类

作者头像
喵了个咪233
发布于 2018-03-02 03:39:51
发布于 2018-03-02 03:39:51
92800
代码可运行
举报
运行总次数:0
代码可运行

#PhalApi-Zip -- 压缩文件处理类

##前言

这是笔者在工作中,同事找到的一个比较不错的文件压缩类,也经过了实际的使用很不错所以分享处理,特此鸣谢:@牧鱼人

附上:

官网地址:http://www.phalapi.net/

开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release

开源中国拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Library

##1. 安装使用

此扩展只需要简单的把文件放到Library目录下即可使用使用方法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $zip = new Zip_Lite();

遍历指定文件夹

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $zip  = new Zip_Lite();
 $filelist = $zip->visitFile(文件夹路径);
 print "当前文件夹的文件:<p>\r\n";
 foreach($filelist as $file)
     printf("%s<br>\r\n", $file);

压缩到服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$zip = new Zip_Lite();
$zip->Zip("需压缩的文件所在目录", "ZIP压缩文件名");

压缩并直接下载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$zip = new Zip_Lite();
$zip->ZipAndDownload("需压缩的文件所在目录");

解压文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $zip   = new Zip_Lite();
 $zipfile   = "ZIP压缩文件名";
 $savepath  = "解压缩目录名";
 $zipfile   = $unzipfile;
 $savepath  = $unziptarget;
 $array     = $zip->GetZipInnerFilesInfo($zipfile);
 $filecount = 0;
 $dircount  = 0;
 $failfiles = array();
 set_time_limit(0);  // 修改为不限制超时时间(默认为30秒)

 for($i=0; $i<count($array); $i++) {
     if($array[$i][folder] == 0){
         if($zip->unZip($zipfile, $savepath, $i) > 0){
             $filecount++;
         }else{
             $failfiles[] = $array[$i][filename];
         }
     }else{
         $dircount++;
     }
 }
 set_time_limit(30);
printf("文件夹:%d&nbsp;&nbsp;&nbsp;&nbsp;解压文件:%d&nbsp;&nbsp;&nbsp;&nbsp;失败:%d<br>\r\n", $dircount, $filecount, count($failfiles));
if(count($failfiles) > 0){
    foreach($failfiles as $file){
        printf("&middot;%s<br>\r\n", $file);
    }
}

获取被压缩文件的信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$zip = new Zip_Lite();
$array = $zip->GetZipInnerFilesInfo(ZIP压缩文件名);
for($i=0; $i<count($array); $i++) {
    printf("<b>&middot;%s</b><br>\r\n", $array[$i][filename]);
    foreach($array[$i] as $key => $value)
       printf("%s => %s<br>\r\n", $key, $value);
    print "\r\n<p>------------------------------------<p>\r\n\r\n";
}

##2. 总结

希望此拓展能够给大家带来方便以及实用!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

官网QQ交流群:421032344 欢迎大家的加入!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
phalapi-进阶篇3(自动加载和拦截器)
#phalapi-进阶篇3(自动加载和拦截器)# ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 最近工作上事情比较多所以更新比较慢希望大家见
喵了个咪233
2018/03/01
7480
phalapi-进阶篇3(自动加载和拦截器)
基于PhalApi的Smarty拓展
基于PhalApi的Smarty拓展 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 用过的童鞋都知道PhalApi是一个Api框架不提供view层的
喵了个咪233
2018/03/02
9540
基于PhalApi的Smarty拓展
Python压缩与解压zip/rar文件 [附源码]
http://xfxuezhang.cn/web/share/%E8%BD%AF%E4%BB%B6-%E7%94%B5%E8%84%91/python%E5%8E%8B%E7%BC%A9%E4%B8%8E%E8%A7%A3%E5%8E%8B.zip
小锋学长生活大爆炸
2022/03/29
1.7K0
Python压缩与解压zip/rar文件 [附源码]
基于PhalApi的Redis拓展
#基于PhalApi的Redis拓展 ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是为了解决并不是非常熟悉redis
喵了个咪233
2018/03/01
8170
基于PhalApi的Redis拓展
基于PhalApi的DB集群拓展 V0.1bate
#基于PhalApi的DB集群拓展 V0.1bate ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是解决大量数据写入
喵了个咪233
2018/03/01
9870
基于PhalApi的DB集群拓展 V0.1bate
Android笔记:底部导航栏的动态替换方案
选择IntentService的原因是因为下面的这几个操作都是耗时操作,所以我们干脆都封装到这service里面,我们只需要在合适的时机去启动这个Service就ok了
程思扬
2022/01/10
2K0
Java IO 操作基础2---操作 ZIP 压缩文件
上一篇 Java 类别的文章中介绍了一下 Java 中普通文件的相关操作,包括:文件读取和写入、文件复制、文件移动等操作。
指点
2019/01/18
2.7K0
Java IO 操作基础2---操作 ZIP 压缩文件
Python处理压缩文件的终极指南
在日常数据处理和文件管理中,压缩文件是一种常见的文件格式。使用Python可以方便地自动化处理压缩文件,包括压缩和解压各种格式的文件,如ZIP、TAR、GZ等。本文将详细介绍如何使用Python处理这些压缩文件,涵盖基本操作、常用库及其应用场景,并提供相应的示例代码。
sergiojune
2024/06/27
4541
Python处理压缩文件的终极指南
Python压缩和解压缩文件(zip/unzip)
通过zipfile模块实现对文件、文件夹的zip压缩和解压 #打包成zip文件 import zipfile f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED) f.write('file_to_add.py') f.close() 从zip文件解包 import zipfile zfile = zipfile.ZipFile('archive.zip','r') for filename in zfile.namelist():
用户8983410
2021/11/03
1.1K0
python模块--zipfile文件压
zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求 ,本文主要谈谈zipfile几个常用的用法。
py3study
2020/01/17
1.3K0
项目实战工具类(二):ZipUtils(压缩/解压缩文件相关)
import android.content.Context; import android.util.Log; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; im
听着music睡
2018/12/14
2.2K0
Python中的zipfile模块使用实例1 压缩文件的基本信息2 解压文件
1 压缩文件的基本信息 导入模块 import zipfile 加载压缩文件,创建ZipFile 对象 class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) 1.参数file表示文件的路径或类文件对象(file-like object); 2.参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a',w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到
致Great
2018/06/07
1.3K0
让Python在后台自动解压各种压缩文件!
编写一个Python程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点:
刘早起
2020/11/16
1.7K0
使用java API进行zip递归压缩文件夹以及解压
在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压。所有这些都是使用Java提供的核心库java.util.zip来实现的。
字母哥博客
2020/09/23
5.8K0
zipfile压缩文件夹_bad zip file
zipfile 是python的一个内置模块,专门用于压缩文件和解压文件。这里我们仅需要用到模块里面压缩文件的内容。
全栈程序员站长
2022/09/30
1.5K0
浅谈.Net Framework中压缩和解压
ZipFile类是一个工具类,它有许多静态方法,可以帮助打开zip文件、提取数据、将目录压缩成zip文件、将zip文件提取到文件夹等等。
小蜜蜂
2019/07/23
1.4K0
浅谈.Net Framework中压缩和解压
WPF文件压缩
文件压缩 添加依赖 Install-Package ICSharpCode.SharpZipLib.dll -Version 0.85.4.369 工具类 using System; using System.IO; using ICSharpCode.SharpZipLib.Checksums; using ICSharpCode.SharpZipLib.Zip; namespace SchoolClient.Utils { /// <summary> /// Zip 压缩文件
码客说
2020/08/12
9560
python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题
中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼。看了alex的文章,才有种恍然大悟的感觉(链接在底部)。
全栈程序员站长
2022/11/01
1.8K0
Python——ZipFile操作压缩文件[通俗易懂]
zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,
全栈程序员站长
2022/11/04
3.6K0
C# Zip解压缩,规避 [content_types].xml 文件
使用 System.IO.Packaging.Package 进行压缩和解压时,会自动生成 [content_types].xml 文件。
jgrass
2024/12/25
1570
相关推荐
phalapi-进阶篇3(自动加载和拦截器)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验