快速业务通道

用Perl动态建立ZIP压缩文件

作者 佚名技术 来源 互联网 浏览 发布时间 2012-01-15

 

在一个现有压缩文件中插入一个文件的过程与建立一个新压缩文件非常相似:首先初始化一个新的Archive::Zip对象,在其中读入原始的压缩文件,再建立一个包含增加文件清单的数组,并把这个数组提交给循环中的addFile()方法。成功添加文件后,就可以用overwrite()方法用更新后的压缩文件覆盖原始的压缩文件。

从现有的ZIP压缩文件中提取文件

往压缩文件中添加文件后,如何将它们提取出来呢?很明显,使用extractTree()方法!这个方法允许你把现有压缩文件中的所有文件提取到一个指定的目录中,如列表D所示:

列表D

 

以下为引用的内容:

#!/bin/perl

use Archive::Zip;# imports

$obj = Archive::Zip->new();# new instance

$status = $obj->read('dummy.zip');# read file contents

if ($status != AZ_OK) {

die('Error in file!');

} else {

$obj->extractTree(undef, "/tmp/");# extract files

}

 

在上例中,extractTree()方法解压整个压缩文件,将其中的所有文件提取到一个指定目录中。如果这个目录不存在,extractTree()方法将自动建立这个目录;当然,这以脚本获得写磁盘的许可为前提。

有趣的是,你还可以进行更具选择性的提取操作,只提取与一个预先定义的列表相匹配的文件。要完成这个任务,你需要使用extractMember()方法,它逐个提取压缩文件,帮助你安置一个中间过滤器或在继续提取前执行检查。在模块文档中可以找相关实例。

灵活性

如上面的例子所示,Perl的Archive::Zip类的功能相当强大,为你处理ZIP压缩文件提供很大的灵活性。希望上面的脚本样本提起你的兴趣,让你开始自己应用这个类,更一步了解它的运行机制。祝编程快乐!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号