PHP自带ZIP压缩解压缩类ZipArchiv使用指引_第1页
PHP自带ZIP压缩解压缩类ZipArchiv使用指引_第2页
PHP自带ZIP压缩解压缩类ZipArchiv使用指引_第3页
PHP自带ZIP压缩解压缩类ZipArchiv使用指引_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、这篇文章主要介绍了 PHP 自带 ZIP 压缩、解压缩类 ZipArchiv 使用指南 ,十分详细,需要的朋友可以参考下要使用该 PHP 扩展类,需要 (PHP 5 >= 5.2.0, PECL zip >= 1.1.0) ,部分方法需要 PHP 5.2.+,且 php.ini 配置支持 zip对于 win 系统,直接去掉 php_zip.dll 扩展的注释,然后重启 http 服务( IIS 或 Apache) 即可Linux 还没有试验,理论上差别不会很大功能:1、解压缩 zip 文件2、将文件压缩成 zip 文件3、追加文件到 zip 文件4、将文件夹打包成 zip 文件(需

2、要循环添加文件与创建空文件夹)5、删除压缩文件中的条目 ZipArchive 对象常用方法介绍 测试约定:测试文件为 text.zip ,该压缩文件包含了三个被压缩的文件 ( hello.txt 、word.txt 、ooxx.jpg ), 如下所示代码如下 :text.ziphello.txtword.txtooxx.jpg打开 zip 文件,以便进一步操作ZipArchive:open(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)mixed ZipArchive:open ( string $filename , int $flags )第 2 个参数讲

3、解ZIPARCHIVE:OVERWRITE 总是创建一个新的文件,如果指定的 zip 文件存在,则会 覆盖掉ZIPARCHIVE:CREATE 如果指定的 zip 文件不存在,则新建一个ZIPARCHIVE:EXCL 如果指定的 zip 文件存在,则会报错 ZIPARCHIVE:CHECKCONS返回值: 如果返回值等于下面的属性,表示对应的错误 或者 返回 TRUE $res = ZipArchive:ER_EXISTS File already exists. (文件已经存在)$res = ZipArchive:ER_INCONS Zip archive inconsistent. (压缩

4、文件不一致)$res = ZipArchive:ER_INV AL Invalid argument. (无效的参数)$res = ZipArchive:ER_MEMORY Malloc failure. (内存错误?这个不确定)$res = ZipArchive:ER_NOENT No such file. (没有这样的文件)$res = ZipArchive:ER_NOZIP Not a zip archive. (没有一个压缩文件)$res = ZipArchive:ER_OPEN Cant open file. (不能打开文件)$res = ZipArchive:ER_READ Rea

5、d error. (读取错误)$res = ZipArchive:ER_SEEK Seek error. (查找错误) 代码如下 :<?php$zip = new ZipArchive;$res = $zip->open(test.zip);if ($res = TRUE) echo ok;/解压缩到 test 文件夹$zip->extractTo(test);$zip->close(); else echo failed, code: . $res;?>根据压缩文件内的列表索引,返回被压缩文件的名称ZipArchive:getNameIndexstring Zi

6、pArchive:getNameIndex ( int $index , int $flags ) 代码如下 :<?php$zip = new ZipArchive();$res = $zip->open(test.zip);if ($res = TRUE) var_dump($zip->getNameIndex(0); / hello.txt var_dump($zip->getNameIndex(1); / word.txt var_dump($zip->getNameIndex(2); / ooxx.jpg else echo failed, code: .

7、 $res;$zip->close();?> 根据压缩内的文件名称,获取该文件的文本流 ZipArchive:getStream resource ZipArchive:getStream ( string $name ) 代码如下 :<?php$zip = new ZipArchive();$res = $zip->open(test.zip);if ($res = TRUE) $stream = $zip->getStream(hello.txt); else echo failed, code: . $res;$zip->close();$str =

8、stream_get_contents($stream); / 这里注意获取到的文本编码 var_dump($str);?> 根据压缩文件内的索引(从 0 开始)修改压缩文件内的文件名 ZipArchive:renameIndexbool ZipArchive:renameIndex ( int $index , string $newname )(PHP 5 >= 5.2.0, PECL zip >= 1.5.0) 成功时返回 TRUE , 或者在失败时返回 FALSE 。 代码如下 :<?php$zip = new ZipArchive;$res = $zip-&g

9、t;open(test.zip);if ($res = TRUE) /把压缩文件内第一个文件修改成 newname.txt $zip->renameIndex(0,newname.txt);$zip->close(); else echo failed, code: . $res;?> 根据压缩文件内的文件名,修改压缩文件内的文件名 ZipArchive:renameName(PHP 5 >= 5.2.0, PECL zip >= 1.5.0) 代码如下 :<?php$zip = new ZipArchive;$res = $zip->open(tes

10、t.zip);if ($res = TRUE) /把压缩文件内的 word.txt 修改成 newword.txt $zip->renameName(word.txt,newword.txt);$zip->close(); else echo failed, code: . $res;?> 获取压缩文件的注释( zip 的文件注释) ZipArchive:getArchiveComment(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)string ZipArchive:getArchiveComment ( int $flags ) 参数:

11、 ZipArchive:FL_UNCHANGED 如果参数设置为 ZipArchive:FL_UNCHANGED, 返回原始的还没有改变的注释 例如,在处理该压缩文件时,使用 setArchiveComment() 方法改变或设置注释时 如果加上 ZipArchive:FL_UNCHANGED 这个参数,则表示获取改变之前的注释内容 否则获取已经改变的注释内容类似的还有:ZipArchive:getCommentIndex 根据压缩文件内的文件索引获取【文件注释】 ZipArchive:getCommentName 根据压缩文件内的文件名称获取【文件注释】 注意:这里的是文件注释,不是压缩文件

12、( zip )的注释 设置或修改压缩文件的注释( zip 的文件注释)ZipArchive:setArchiveComment(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)bool ZipArchive:setArchiveComment ( string $comment )代码如下 :<?php$zip = new ZipArchive;$res = $zip->open(test.zip, ZipArchive:CREATE);if ($res = TRUE) /$zip->addFromString(test.txt, file c

13、ontent goes here);$zip->setArchiveComment(new archive comment);$zip->close();echo ok; else echo failed;?> 根据压缩文件内的索引删除压缩文件内的文件(也就是删除档案内的条目) ZipArchive:deleteIndex(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)一、如何解压缩一个 zip 文件 extractTo()代码如下 :$zip = new ZipArchive();一、如何创建压缩文件? addFromString() addFile() 即是是把一个或多个文件打包成一个 zip 文件1、只需要 new 一个 ZipArchive 对象2、然后使用该对象的 open 方法创建一个 zip 文件3、接着使用 addFile 方法,将要打包的文件写入刚刚创建的zip 文件中4、最后记得关闭该对象代码如下 :&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论