Sample code for 30+ languages & platforms
Ruby

Zip

See more Zip Examples

Zip a directory tree.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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 = true
success = zip.AppendFiles("c:/temp/files_to_zip/*",recurse)
if (success == false)
    print zip.lastErrorText() + "\n";
    exit
end

# Write the .zip and close the zip file (and clears the zip object).
success = zip.WriteZipAndClose()
if (success == false)
    print zip.lastErrorText() + "\n";
    exit
end

print "Successfully created " + zipPath + "\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