PclZip:强大的 PclZip介绍PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip、PKZIP);且能对此类类档案进行处理,包括产生压缩档、列出压缩档的内容以及解压缩档案等等。由于能够在伺服器端进行压缩与解压缩的动作,所以相当方便使用。PclZip定义一个PclZip类别,其类别物件可视为一个ZIP档案,亦提供method来进行处理。 ?如何使用PclZip?1.基础所有的功能都由pclzip.lib.登录后复制此物件提供了一些public method可用来处理此档案。 ?2.参数每一个method有其各自可使用的参数,包括有必须与非必须的参数: 登录后复制上例中的’dev/file.txt’就是必须参数;’PCLZIP_OPT_REMOVE_PATH’则为非必须参数。当然有些method也可以只包含非必须的参数: 登录后复制?上例中原本压缩档内档案存放的路径为/data,不过你可以指定解压缩至/folder中。此外,在解压缩之前,会呼叫callback function(’callback_pre_extract()’),此function可让使用者在解压缩的过程中变更档案存放路径与档名,或是选择某些档案不解压缩。所有可用的非必要参数可参考网址(www.?3.回传值每个method所回传的值可能会不同,将会在每个method中说明。不过大部分的method回传0、error或是阵列。 ?4.错误处理从版本1.3之后,错误处理已经整合至PclZip类别中,当一个method回传错误码,可以得知一些额外的讯息以方便错误处理: * errorName():回传错误名称 * errorCode():回传错误码 * errorInfo():回传错误的描述 接下来会举几个例子来说明如何使用PclZip。 ?PclZip实例1、产生ZIP压缩档 PclZip($zipname):为PclZip constructor,$zipname为PKZIP压缩档的档名。主要是产生一个PclZip物件,即一个PKZIP压缩档;但此时,只有压缩档产生出来,并做一些检查(例如是否有开启zlib extension…等),除此之外,并没有做其他动作。create($filelist, [optional arguments list]):将参数$filelist指定的档案或目录(包含当中所有档案与子目录)加入上述所产生的压缩档中。而非必要的参数则能够修改压缩档内的档案存放路径。此method可用的参数可以参考网志(www.下面的示例说明如何产生PKZIP压缩档(档名为archive.zip),并将file.txt、data/text.txt以及目录folder(包含当中的档案与子目录)加入刚刚产生的archive.zip中:用法一:errorInfo ( true ) );}?>登录后复制?用法二:下面的示例说明基本上与上例一样产生archive.zip,但在将file.txt与text.txt压缩于其中时,将路径由data/改为install/ ;因此,在archive.zip中这两个档案的路径会是install/file.txt与install/text.txterrorInfo ( true ) );}?>登录后复制?PclZip实例2、列出压缩档内容 listContent( ) :列出压缩档中的内容,包括档案的属性与目录:errorInfo ( true ) );}for($i = 0; $i ";}echo "";}?>登录后复制?上例将会回传结果:File 0 / [filename] = data/file1.txt File 0 / [stored_filename] = data/file1.txt File 0 / [size] = 53 File 0 / [compressed_size] = 36 File 0 / [mtime] = 1010440428 File 0 / [comment] = File 0 / [folder] = 0 File 0 / [index] = 0 File 0 / [status] = ok File 1 / [filename] = data/file2.txt File 1 / [stored_filename] = data/file2.txt File 1 / [size] = 54 File 1 / [compressed_size] = 53 File 1 / [mtime] = 1011197724 File 1 / [comment] = File 1 / [folder] = 0 File 1 / [index] = 1 File 1 / [status] = ok?PclZip实例3、解压缩档案extract([options list]) :解压缩PKZIP中的档案或目录。[options list]可用的参数可参考网址(www.下例是一个简单的解压缩档案示例,将压缩档archive.zip内的档案解压缩至目前的目录:errorInfo(true)); }?>登录后复制下例是进阶的解压缩档案使用,archive.zip中所有档案都解压缩于data/中,而特别指明在install/release中的所有档案也直接丢于data/中,而非data/install/ release:errorInfo(true)); }?>登录后复制看见create方法的参数没有,再看看方法原型你就知道如何做了。至少我还没有这样用过。相关文档:PclZip官方地址:http://www.PclZip手册地址:http://www.PEAR类创建ZIP档案文件:http://www.ccvita.com/10.htmlPclZip简介与使用:http://www.ccvita.com/59.htmlPclZip:强大的:http://www.ccvita.com/330.html 09-18 23:39