Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Controlling Paths of Files Added to Zip

When appending files to a .zip, it can be difficult to get the paths exactly as you want them. This example describes a way that you can control the path information when adding a single file at a time to a .zip.

Download Chilkat Perl Module

use chilkat;

$zip = new chilkat::CkZip();

$success = $zip->UnlockComponent("anything for 30-day trial");
if ($success != 1) {
    print "Failed to unlock zip component" . "\n";
    exit;
}

#  Intialize the zip object by calling NewZip.
$zip->NewZip("myZip.zip");

#  Add a reference to a file on disk to the zip object.
#  (When appending files to a zip, the files are not actually
#  read into memory.  References to the file(s) are added.
#  When WriteZip is called, the referenced files are streamed in
#  and compressed to the .zip.)
$saveExtraPath = 0;
$success = $zip->AppendOneFileOrDir("c:/temp/a/hamlet.xml",$saveExtraPath);
#  For brevity, this example will not check the return status...

#  The saveExtraPath argument, if set, will cause the path information
#  passed in the 1st argument to be saved in the .zip.

#  To add "a/hamlet.xml", do this:
$zip->put_AppendFromDir("c:/temp");
$saveExtraPath = 1;
$success = $zip->AppendOneFileOrDir("a/hamlet.xml",$saveExtraPath);

#  To add "temp/a/hamlet.xml", do this:
$zip->put_AppendFromDir("c:/");
$saveExtraPath = 1;
$success = $zip->AppendOneFileOrDir("temp/a/hamlet.xml",$saveExtraPath);

#  The zip written here will contain hamlet.xml three times,
#  each with a different relative path.
$success = $zip->WriteZipAndClose();
 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.