快速业务通道

用Perl动态建立ZIP压缩文件

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

Perl提供大量处理不同文件格式的内置函数和外来模块。特别是,它可以通过Archive::Zip模块,动态建立和阅读ZIP压缩文件,而不必依赖外来工具和实用工具。本教程说明这个模块的基础理论和常用方法。

首先,在Perl提示符下运行以下命令下载并安装该模块(如果你还没有安装它):

perl> perl -MCPAN -e "install Archive::Zip"

注意,Archive::Zip模块依靠zlib库运行,因此在安装过程中,系统可能要求你下载并安装这个库。

建立ZIP压缩文件

首先我们看一个简单的例子。动态建立一个包含几个其它文件的ZIP压缩文件。输入(或复制)如列表A所示的脚本:

列表A

 

以下为引用的内容:

#!/bin/perl

use Archive::Zip;# imports

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

@files = ('mystuff/ad.gif',

'mystuff/alcon.doc',

'mystuff/alcon.xls');# files to store

foreach $file (@files) {

$obj->addFile($file);# add files

}

if ($obj->writeToFileNamed('dummy.zip') != AZ_OK) {# write to disk

print "Error in archive creation!";

} else {

print "Archive created successfully!";

}

 

这段脚本相当简单,但值得仔细看一看。第一步是输入Archive::Zip模块,并初始化Archive::Zip对象的一个实例。接下来,将所有文件清单以及它们在磁盘中的位置进行压缩,保存为一个Perl数组。要记住的是,脚本(准确地说,运行脚本的用户)必须拥有访问这些磁盘位置的许可,否则建立压缩文件的过程就会失败。

然后,用foreach()循环遍历这个数组,用对象的addFile()方法在压缩文件中增加列出的文件。一旦循环完成,则通过调用writeToFileNamed()方法把最终的压缩文件写入磁盘,writeToFileNamed()方法接受所建立的ZIP文件的完整路径和名称。记住,脚本必须拥有向指定的磁盘位置写入文件的许可;否则,writeToFileNamed()方法将会失败,因而不能建立压缩文件。

特别要注意调用writeToFileNamed():方法的返回值。如果文件被正确写入,Archive::Zip返回一个AZ_OK值,在往后操作前系统会检查这个值。之后在这个文件中你还会看到这个返

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号