首页 > 编程语言 >php开启ziparchive类,php压缩解压文件ZipArchive类的方法使用教程

php开启ziparchive类,php压缩解压文件ZipArchive类的方法使用教程

时间:2023-01-28 15:12:45浏览次数:54  
标签:文件 php ZipArchive zip ziparchive txt 压缩包

php中有一个ZipArchive类,可以用于文件的压缩与解压的操作,ZipArchive类的使用教程,可以查看下面的方法。

php ZipArchive类使用方法

1、声明一个 ZipArchive 类的使用方法$zip = new ZipArchive;

2、打开一个压缩文件$zip->open('new.zip', ZipArchive::CREATE);

(1)、open 中的第一个参数 'new.zip',是要打开的压缩文件

(2)、open 中的第二个参数,有四个值,可以参考如下ZIPARCHIVE::OVERWRITE:检测zip文件是否存在,如果不存在则会新建,如果存在则会被覆盖

ZIPARCHIVE::CREATE:如果指定的zip文件不存在,则新建一个

ZIPARCHIVE::EXCL:如果指定的zip文件存在,则会报错

ZIPARCHIVE::CHECKCONS:对指定的zip执行其他一致性测试

3、addFile 可以添加文件到压缩包中$zip->addFile('test.txt');

4、addEmptyDir 添加一个空目录到压缩包中$zip->addEmptyDir ('newdir');

5、addFromString 添加指定的内容的文件到压缩包中$zip->addFromString('new.txt', '这里是要添加的内容');

6:extractTO 将压缩包解压到指定文件$zip->extractTo('test');

7:getNameIndex 根据压缩包内文件索引返回文件名称$zip->getNameIndex(0);

8:getStream 获取压缩包中指定文件的内容$zip->getStream('hello.txt');

9:renameIndex 修改压缩包中指定索引的文件$zip->renameIndex(0,'newname.txt');

10:renameName 修改指定文件的名称$zip->renameName('word.txt','newword.txt');

11:deleteIndex 删除压缩包中指定索引的文件$zip->deleteIndex (0);

12:deleteName 删除压缩包中指定的文件$zip->deleteName('word.txt');

ZipArchive类使用示例

1、php使用 ZipArchive 类压缩文件的方法

<?php
    $zip = new ZipArchive();
    $zipname = 'file.zip';
    //打开一个压缩文件,如果没则新建一个
    $zip->open($zipname, ZipArchive::CREATE);
    //添加一个文件到压缩
    $zip->addFile('robots.txt');
    //添加一个空目录到压缩包中
    $zip->addEmptyDir('file');
    //添加一个自定义内容的文件
    $zip->addFromString('file/txt.txt', '我是要添加的内容!');
    $zip->close();
?>

 

2、php使用 ZipArchive 类解压文件的方法

<?php
    $zip = new ZipArchive();
    if($zip->open('file.zip') === true) {
      if(!is_dir('mochu')) {
          //检测文件是否存在
          mkdir('mochu');
          //如果文件不存在,则新建
      }
      $zip->extractTo('mochu');
      //将文件解压到 mochu 文件中!
      $zip->close();
    }
?>

 

3、php ZipArchive类压缩包操作

<?php
    $zip = new ZipArchive();
    if($zip->open('file.zip') === true) {
      //把压缩文件内索引为0的文件修改成newname.txt
      $zip->renameIndex(0,'newname.txt');
      //把压缩文件内的new.txt修改成newword.txt
      $zip->renameName('newname.txt','tip.txt');
      //删除压缩文件内索引为0的文件
      $zip->deleteIndex(0);
      //删除压缩文件的img.png
      $zip->deleteName('img.png');
      // 关闭zip文件
      $zip->close();
    }
?>

 

标签:文件,php,ZipArchive,zip,ziparchive,txt,压缩包
From: https://www.cnblogs.com/mygaoge/p/17070333.html

相关文章

  • PHPMyWind编辑器支持Word上传
    ​ 图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.j......
  • PHPMyWind编辑器支持Word一键上传
    ​ 如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml......
  • PHP转Go实践:xjson解析神器「开源工具集」
    前言近期会更新一系列开源项目的文章,新的一年会和大家做更多的开源项目,也欢迎大家加入进来。xutil今天分享的文章源自于开源项目jinzaigo/xutil的封装。在封装过程中......
  • 在VMware17虚拟机上使用宝塔面板部署php项目
    自己做了一个php项目打算使用宝塔面板部署整体思路大概是:安装VM,使用CentOS7镜像(因为宝塔面板是在CentOS上开发的,使用CentOS兼容性更好)配置虚拟机静态IP部署项目一......
  • 浅谈PHP设计模式的访问者模式
    简介:访问者模式,属于行为型的设计模式。表示一个作用于某对象结构中的各元素的操作。它是你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。适用场景:类中......
  • upload-labs pass3,phpstudy中修改httpd.conf后无法解析.php3后缀。phpstudy中64与32系
    问题解决参考自:https://www.likecs.com/show-965809.html 注意:VC运行库(V14-x64)版本必须与Apache、PHP版本相同;VC就是MicrosoftVisualC++,可以通过控制面板查看否则......
  • 浅谈PHP设计模式的享元模式
    简介:享元模式,属于结构型的设计模式。运用共享技术有效地支持大量细粒度的对象。适用场景:具有相同抽象但是细节不同的场景中。优点:把公共的部分分离为抽象,细节依赖于抽......
  • 浅谈PHP设计模式的中介者模式
    简介:中介者模式,属于行为型的设计模式。用一个中介对象来封装一系列的对象交互。中介者是各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。......
  • PHP获取微信JS-SDK接口设置(access_token、jsapi_ticket、signature)
    前端引入JS文件<scriptsrc="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>或<scriptsrc="http://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script......
  • ThinkPHP函数详解:cache方法
    cache方法是3.0版本开始新增的缓存管理方法。注意:3.1.2版本后因cache方法并入原S方法,所以cache方法不再建议使用,用S方法即可。cache用于缓存设置、获取、删除操作用......