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,代码:。合物;
}
近点();
以上是本文的全部内容,希望能对您有所帮助。