查看: 717|回复: 0

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

[复制链接]

748

主题

39

回帖

3907

积分

管理员

总舵主

积分
3907
QQ
发表于 2024-3-26 20:01:08 | 显示全部楼层 |阅读模式
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 类压缩文件的方法

  1. <?php
  2.     $zip = new ZipArchive();
  3.     $zipname = 'file.zip';
  4.     //打开一个压缩文件,如果没则新建一个
  5.     $zip->open($zipname, ZipArchive::CREATE);
  6.     //添加一个文件到压缩
  7.     $zip->addFile('robots.txt');
  8.     //添加一个空目录到压缩包中
  9.     $zip->addEmptyDir('file');
  10.     //添加一个自定义内容的文件
  11.     $zip->addFromString('file/txt.txt', '我是要添加的内容!');
  12.     $zip->close();
  13. ?>
复制代码
2、php使用 ZipArchive 类解压文件的方法

  1. <?php
  2.     $zip = new ZipArchive();
  3.     if($zip->open('file.zip') === true) {
  4.       if(!is_dir('mochu')) {
  5.           //检测文件是否存在
  6.           mkdir('mochu');
  7.           //如果文件不存在,则新建
  8.       }
  9.       $zip->extractTo('mochu');
  10.       //将文件解压到 mochu 文件中!
  11.       $zip->close();
  12.     }
  13. ?>
复制代码
3、php ZipArchive类压缩包操作

  1. <?php
  2.     $zip = new ZipArchive();
  3.     if($zip->open('file.zip') === true) {
  4.       //把压缩文件内索引为0的文件修改成newname.txt
  5.       $zip->renameIndex(0,'newname.txt');
  6.       //把压缩文件内的new.txt修改成newword.txt
  7.       $zip->renameName('newname.txt','tip.txt');
  8.       //删除压缩文件内索引为0的文件
  9.       $zip->deleteIndex(0);
  10.       //删除压缩文件的img.png
  11.       $zip->deleteName('img.png');
  12.       // 关闭zip文件
  13.       $zip->close();
  14.     }
  15. ?>
复制代码



道不同,不相为谋!理想要有,万一实现了呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:2513533699@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|鲁ICP备19000917号|鲁公网安备37078302000320号

在本版发帖
关注公众号
QQ客服返回顶部