PHP教程zip压缩和解压类ziparchiv使用

使用类的PHP扩展,需要(PHP 5.2.0 > = 5,PECL,邮编> = 1.1.0)的方法,PHP 5.2,+,和php.ini配置为支持zip

为赢系统,消除php_zip.dll扩展直接说明,然后重新启动HTTP服务(IIS或Apache)

Linux还没有测试过,理论上差别不大。

功能:

1。zip文件解压缩

2。压缩文件到压缩文件

三.将文件添加到zip文件

4。将文件夹打包成zip文件(需要添加文件并创建空文件夹)

5。删除压缩文件中的条目

ZipArchive对象常用方法在数据交换贸易贸易数据交换

测试会议:

测试文件是text.zip,其中包含三个压缩文件(hello.txt,word.txt,OOXX的图片),如下图所示

复制代码代码如下所示:

text.zip

hello.txt

word.txt

ooxx.jpg



打开zip文件以供进一步操作

::打开之后

(PHP 5.2.0 PECL > = 5,邮编为1.1.0)

混合之后::打开(字符串的文件名{ int美元,旗帜})



第二个参数的解释



之后::覆盖通常会创建一个新文件,如果指定的文件存在,它将覆盖

之后::如果指定的文件不存在,创建,那么新的建

之后::不包括将错误报告如果指定ZIP文件存在

::checkcons之后



返回值:



如果返回值等于下面的属性,则它代表相应的错误或返回到真值。

美元:er_exists ZipArchive:RES文件已经=存在。(文件已经存在)

美元:er_incons RES ZipArchive:ZIP存档=不一致。(压缩文件不一致)

美元er_inval无效(参数研究。= =之后::无效的参数)

美元er_memory malloc(失效研究。= =之后::内存错误这是不确定的。

美元:er_noent RES ZipArchive:没有=文件。(没有这样的文件)

美元:er_nozip RES ZipArchive:不是= ZIP档案。(不是压缩文件)

美元:er_open RES ZipArchive:无法打开=文件。(文件)

美元:er_read RES ZipArchive:阅读= =错误。(读取错误)

美元er_seek:寻找错误研究。= =之后:(错误)

复制代码代码如下所示:

< PHP

zip =新美元之后;

RES =美元美元拉链->打开(测试。zip);

如果($ = TRUE){

echo'ok;

/ /解压缩文件夹测试

$拉链-> extractto(测试);

近点();

{人}

echo'failed,代码:。合物;

}

>



根据压缩文件中的列表索引返回压缩文件的名称。



::getnameindex之后

字符串之后::getnameindex(美元指数{ int,int $标志})

复制代码代码如下所示:

< PHP

zip =新美元之后();

RES =美元美元拉链->打开(测试。zip);

如果($ = TRUE){

var_dump($邮编-> getnameindex(0)); / / hello.txt

var_dump($邮编-> getnameindex(1)); / / word.txt

var_dump($邮编-> getnameindex(2)); / / ooxx.jpg

{人}

echo'failed,代码:。合物;

}

近点();

>



根据压缩文件的名称获取文件的文本流。



之后的情况::

资源之后的情况(字符串的名称::)

复制代码代码如下所示:

< PHP

zip =新美元之后();

RES =美元美元拉链->打开(测试。zip);

如果($ = TRUE){

美元美元流=邮编>的情况('Hello .txt);

{人}

echo'failed,代码:。合物;

}

近点();

$str = stream_get_contents($流 / /获得);这里的文本编码

var_dump($str);

>



根据压缩文件中的索引修改压缩文件中的文件名(从0开始)



::renameindex之后

布尔之后::renameindex(int美元指数,字符串newName)

(PHP > = 5.2.0 PECL 5, zip = 1.5.0)



成功时返回true,失败时返回true。

复制代码代码如下所示:

< PHP

zip =新美元之后;

RES =美元美元拉链->打开(测试。zip);

如果($ = TRUE){

/ /把第一个文件压缩文件改成newname.txt

$邮编-> renameindex(0,'newname .txt);

近点();

{人}

echo'failed,代码:。合物;

}

>



根据压缩文件中的文件名修改压缩文件中的文件名。



::renamename之后

(PHP 5.2.0 PECL > = 5,邮编= 1.5.0)

复制代码代码如下所示:

< PHP

zip =新美元之后;

RES =美元美元拉链->打开(测试。zip);

如果($ = TRUE){

压缩文件 / / word.txt修改newword.txt

zip -> renamename美元('word .txt,'newword .txt);

近点();

{人}

echo'failed,代码:。合物;

}

>



获取压缩文件的注释(zip的文件注释)



::getarchivecomment之后

(PHP 5.2.0 PECL > = 5,邮编为1.1.0)

字符串之后::getarchivecomment({ int $标志})

参数:::fl_unchanged之后

如果参数设置为::fl_unchanged之后,返回原注释的注释

例如,当处理的压缩文件,该setarchivecomment()方法是用来改变或设置注释

如果之后::fl_unchanged加入这个参数,得到前改变注释的内容或注释的内容已经改变了

类似地,也有:

之后getcommentindex获取文件的注释::{ }基于索引的文件在压缩文件

之后getcommentname获取文件的注释::{ }基于压缩文件中的文件的名称

注意:这是一个文件注释,而不是zip。

设置或修改压缩文件的注释(zip的文件注释)

::setarchivecomment之后

(PHP 5.2.0 PECL > = 5,邮编= 1.4.0)

布尔之后::setarchivecomment(字符串的评论)

复制代码代码如下所示:

< PHP

zip =新美元之后;

RES =美元美元拉链->打开(测试.zip,之后::创造);

如果($ = TRUE){

/ / $邮编-> addfromstring(测试。txt文件的内容,在这里的);

zip -> setarchivecomment美元(新档案评论);

近点();

echo'ok;

{人}

echo'failed;

}

>



根据压缩文件中的索引(即删除文件中的条目)删除压缩文件中的文件。



::deleteindex之后

(PHP 5.2.0 PECL > = 5,邮编= 1.5.0)

1。如何解压ZIP文件extractto()

复制代码代码如下所示:

zip =新美元之后();



1。如何创建压缩文件addfromstring addFile()()



也就是说,将一个或多个文件打包到压缩文件中。

1。只有一个新的ZipArchive对象被需要

2,然后使用对象的open方法创建zip文件

3,然后使用addFile方法写文件到新创建的压缩文件

4。最后,要记住关闭对象。

复制代码代码如下所示:

< PHP

对象 / /创建一个新的之后

zip =新美元之后;

RES =美元美元拉链->打开(测试。zip);

如果成功打开

如果($ = TRUE){

如果打开失败

{人}

输出错误代码

echo'failed,代码:。合物;

}

近点();



以上是本文的全部内容,希望能对您有所帮助。