Sample code for 30+ languages & platforms
Perl

Zip

See more Zip Examples

Zip a directory tree.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$zip = chilkat::CkZip->new();

$zipPath = "c:/temp/myFiles.zip";

# Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
$zip->NewZip($zipPath);

# Append references to files to be zipped.
$recurse = 1;
$success = $zip->AppendFiles("c:/temp/files_to_zip/*",$recurse);
if ($success == 0) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

# Write the .zip and close the zip file (and clears the zip object).
$success = $zip->WriteZipAndClose();
if ($success == 0) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

print "Successfully created " . $zipPath . "\r\n";

# If the following files existed under c:/temp/files_to_zip

# c:/temp/files_to_zip/aaa/pigs.json
# c:/temp/files_to_zip/bbb/base64Cert.txt
# c:/temp/files_to_zip/bbb/sub1/brasil_cert.pem
# c:/temp/files_to_zip/bbb/sub2/penguins.gif
# c:/temp/files_to_zip/bbb/sub2/starfish.jpg
# c:/temp/files_to_zip/hamlet.xml
# c:/temp/files_to_zip/hello.pdf

# then the zip we created would contain:

# aaa/pigs.json
# bbb/base64Cert.txt
# bbb/sub1/brasil_cert.pem
# bbb/sub2/penguins.gif
# bbb/sub2/starfish.jpg
# hamlet.xml
# hello.pdf