PHP之Zip扩展,解压缩文件,ZipArchive类

<?php
$zip = new ZipArchive();//新建一个对象

/*
$zip->open这个方法第一个参数表示处理的zip文件名。
第二个参数表示处理模式,ZipArchive::OVERWRITE表示如果zip文件存在,
就覆盖掉原来的zip文件。 如果参数使用ZIPARCHIVE::CREATE,
系统就会往原来的zip文件里添加内容。 如果不是为了多次添加内容到zip文件,
建议使用ZipArchive::OVERWRITE。 使用这两个参数,如果zip文件不存在,
系统都会自动新建。 如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
*/

if ($zip->open(‘demo.zip‘, ZipArchive::OVERWRITE) === TRUE) {

    /* ZipArchive类中的所有属性*/
    echo $zip->status;//Zip Archive 的状态
    echo $zip->statusSys;//Zip Archive 的系统状态
    echo $zip->numFiles;//压缩包里的文件数
    echo $zip->filename;//在文件系统里的文件名,包含绝对路径
    echo $zip->comment;//压缩包的注释
    ////////////////////////////

    /* ZipArchive类中的常用方法*/
    $zip->addEmptyDir(‘css‘);//在zip压缩包中建一个空文件夹,成功时返回 TRUE, 或者在失败时返回 FALSE
    $zip->addFile(‘index.html‘,‘in.html‘);//在zip更目录添加一个文件,并且命名为in.html,第二个参数可以省略
    $zip->addFromString(‘in.html‘,‘hello world‘);//往zip中一个文件中添加内容
    $zip->extractTo(‘/tmp/zip/‘);//解压文件到/tmp/zip/文件夹下面
    $zip->renameName(‘in.html‘,‘index.html‘);//重新命名zip里面的文件
    $zip->setArchiveComment(‘Do what you love,Love what you do.‘);//设置压缩包的注释
    $zip->getArchiveComment();//获取压缩包的注释
    $zip->getFromName(‘index.html‘);//获取压缩包文件的内容
    $zip->deleteName(‘index.html‘);//删除文件
    $zip->setPassword(‘123456‘);//设置压缩包的密码
    $zip->close();//关闭资源句柄
    ////////////////////////////

}else{
    echo ‘文件打开失败‘;
}
时间: 2024-11-10 07:07:47

PHP之Zip扩展,解压缩文件,ZipArchive类的相关文章

PHP使用 zip 扩展压缩文件

在公司遇到一个问题,是使用zip打包用户的上传文件,提供集体下载. -- 第一个想法就是使用exec在Linux进行打包.但是...exec方法吧,你懂得,我不太愿意使用这个函数. -- 于是上网查找,结果就是,我低估了PHP对于IO的操作,给我的教训是,以后遇到什么问题应该先考虑怎么从代码层面解决,如果不行再考虑其他的. -- 安装zip扩展的方法不多说,网上一搜一大片. -- 这里主要说它的简单实用方法[学习东西应该尝试去PHP官方文档查看,那里给出了全面的Demo,不应该一直依赖Baidu

C#调用 ICSharpCode.SharpZipLib.Zip 实现解压缩功能公用类

最近想用个解压缩功能 从网上找了找 加自己修改,个人感觉还是比较好用的,直接上代码如下 using System; using System.Linq; using System.IO; using ICSharpCode.SharpZipLib.Zip; using ICSharpCode.SharpZipLib.Checksums; using System.Diagnostics; using Microsoft.Win32; namespace ZipCommon { public cl

Unity3d通用工具类之解压缩文件

今天,我们来写写c#是如何通过代码解压缩文件的. 在游戏的项目中呢,常常我们需要运用到解压缩的技术.比如,当游戏需要更新的时候,我们会从服务器中下载更新的压缩文件包. 这时候我们就需要解压文件,然后覆盖添加到游戏文件夹去,实现游戏的更新. 通常我们就需要通过代码来实现这一功能. 那么这里呢,我用的是第三发的压缩库,这个是用到一个dll,也就是ICSharpCode.SharpZipLib.Zip.dll 读者可以自行百度下载,这里我提供链接给你们: http://pan.baidu.com/s/

Python 解压缩Zip和Rar文件到指定目录

#__author__ = 'Joker'# -*- coding:utf-8 -*-import urllibimport osimport os.pathimport zipfilefrom zipfile import *import sysreload(sys)sys.setdefaultencoding('gbk') rootdir = "F:/50_GIS/1000_Tools" # 指明被遍历的文件夹zipdir = "F:/000_Terrain/zipdir

dedecms中提取的zip压缩文件操作类zip.class.php

从织梦DeDeCMS中提取的zip压缩文件操作类,包含zip文件压缩.解压缩.添加文件到压缩包中等多个实用的函数,注释详细方便使用. 下载:dedecms中提取的zip压缩文件操作类zip.class.php 包含的函数和简单的使用方法: 1.函数get_List($zip_name) ,函数作用:获取zip文件中的文件列表.函数参数 $zip_name  zip文件名.返回值 文件列表数组. 2.函数Add($files,$compact),函数作用:增加文件到压缩文件.函数参数 $files

AntZipUtils【基于Ant的Zip压缩解压缩工具类】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android 压缩解压zip文件一般分为两种方式: 基于JDK的Zip压缩工具类 该版本存在问题:压缩时如果目录或文件名含有中文,压缩后会变成乱码: 使用Java的zip包可以进行简单的文件压缩和解压缩处理时,但是遇到包含中文汉字目录或者包含多层子目录的复杂目录结构时,容易出现各种各样的问题. 基于Ant的Zip压缩工具类 需要第三方JAR包:Apache的ant.jar: 解决了上面存在的问题. 效果图 代码分析 常用的方法: 压缩

java.util.zip包在解压缩文件方面入门使用

工作空闲之余,无意间点了一下java.util.zip包下面的一些源码看了一看.知道其使用的范围就是针对我们日常中关于 文件的压缩和解压的操作.写了一些常用的压缩文件(单个文件和多个文件的压缩).解压文件(解压单个文件和文件夹)的 小小Demo. package com.clark.zip; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IO

Linux命令(十六) 压缩或解压缩文件和目录 zip unzip

目录 1.命令简介 2.常用参数介绍 3.实例 4.直达底部 命令简介 zip 是 Linux 系统下广泛使用的压缩程序,文件压缩后扩展名为 ".zip". zip 命令用来将文件压缩成常用的 zip 格式,unzip 命令则用来解压缩zip文件. 返回目录 常用参数介绍 zip 命令常见的参数如下所示: -a 将文件转成 ASCⅡ 模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩后,删除源文件 -n 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件

文件操作工具类: 文件/目录的创建、删除、移动、复制、zip压缩与解压.

FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.Fi