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

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();
    }
?>
复制代码

 

posted @   kuku_29  阅读(2222)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示