Chuyển tới nội dung chính

Tạo tệp lưu trữ ZIP (file.zip)

Khai báo

ok, err = file.zip(zipPath, filesOrDir [, password])

Tham số

  • zipPath
    Kiểu chuỗi. Đường dẫn đầu ra của tệp ZIP cần tạo.
  • filesOrDir
    Kiểu bảng hoặc chuỗi.
    • Bảng: mỗi phần tử có dạng { sourcePath, archivePath }, trong đó archivePath là đường dẫn tương đối bên trong tệp ZIP.
    • Chuỗi: đường dẫn thư mục cần đóng gói vào ZIP.
  • password
    Kiểu chuỗi, không bắt buộc. Nếu được cung cấp, tạo tệp ZIP được mã hóa.

Giá trị trả về

  • ok
    Kiểu boolean. Trả về true khi thành công, false khi thất bại.
  • err
    Kiểu chuỗi. Thông báo lỗi khi thao tác thất bại.

Mô tả

Nén các tệp hoặc một thư mục vào tệp lưu trữ ZIP.
Khi filesOrDir là bảng, bạn có thể kiểm soát chính xác đường dẫn tương đối được ghi vào ZIP. Khi là chuỗi, toàn bộ nội dung thư mục sẽ được đóng gói. Khả dụng trên các phiên bản sau 20250914.

Ví dụ

Dùng bảng để đặt đường dẫn trong tệp lưu trữ

local ok, err = file.zip(XXT_SCRIPTS_PATH.."/out.zip", {
{ XXT_SCRIPTS_PATH.."/data/readme.txt", "docs/readme.txt" },
{ XXT_SCRIPTS_PATH.."/assets/logo.png", "assets/images/logo.png" },
}, "123456")
if not ok then
sys.alert("Đóng gói ZIP thất bại: "..err)
else
sys.alert("Đóng gói ZIP thành công: "..XXT_SCRIPTS_PATH.."/out.zip")
end

Đóng gói trực tiếp một thư mục

local ok, err = file.zip(XXT_SCRIPTS_PATH.."/project.zip", XXT_SCRIPTS_PATH.."/project")
if not ok then
sys.alert("Đóng gói ZIP thất bại: "..err)
else
sys.alert("Đóng gói ZIP thành công: "..XXT_SCRIPTS_PATH.."/project.zip")
end

Lưu ý: Ví dụ trên sử dụng hàm ngoài chương này sys.alert.