Sample code for 30+ languages & platforms
Lua

Zip

See more Zip Examples

Zip a directory tree.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local zip = chilkat.Zip.new()

local 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:new_zip(zipPath)

-- Append references to files to be zipped.
local recurse = true
local success = zip:append_files("c:/temp/files_to_zip/*", recurse)
if not success then
    print(zip.last_error_text)
    return
end

-- Write the .zip and close the zip file (and clears the zip object).
success = zip:write_zip_and_close()
if not success then
    print(zip.last_error_text)
    return
end

print("Successfully created " .. zipPath)

-- 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