Sample code for 30+ languages & platforms
Lua

Zip a Directory Tree

See more Zip Examples

Demonstrates how to zip an entire directory tree into a .zip archive.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local zip = chilkat.Zip.new()

local success = zip:new_zip("test.zip")
if not success then
    print(zip.last_error_text)
    return
end

-- Append a directory tree.  The call to AppendFiles does
-- not read the file contents or append them to the zip
-- object in memory.  It simply appends references
-- to the files so that when WriteZip or WriteZipAndClose
-- is called, the referenced files are streamed and compressed
-- into the .zip output file.

local recurse = true
success = zip:append_files("c:/temp/a/*", recurse)
if not success then
    print(zip.last_error_text)
    return
end

success = zip:write_zip_and_close()
if not success then
    print(zip.last_error_text)
    return
end

print("Zip Created!")