Perl Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CUnicode C++Unicode CMFCDelphi DLLDelphi ActiveXFoxProJavaPerlPHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

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.

 Chilkat Perl Module Downloads for Windows, Linux, and MAC OS X

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();
 

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