Упаковка файлов в ZIP (file.zip)
Объявление
успех, сообщение_об_ошибке = file.zip(путь_к_zip, список_файлов [, пароль])
Параметры
- путь_к_zip
Строка, путь для создаваемого ZIP-файла - список_файлов
Таблица | строка- таблица: каждый элемент содержит два значения
{ исходный_путь, путь_в_архиве }, где путь в архиве — относительный путь внутри ZIP - строка: путь к каталогу, содержимое которого упаковывается в ZIP
- таблица: каждый элемент содержит два значения
- пароль
Строка, необязательный параметр; при указании создаётся зашифрованный ZIP
Возвращаемое значение
- успех
Логическое значение:trueпри успехе иfalseпри ошибке - сообщение_об_ошибке
Строка, сообщение об ошибке при неудаче
Описание
Сжимает файл или каталог в ZIP-файл
Еслисписок_файлов— таблица, можно точно задать относительный путь каждой записи внутри ZIP; если это строка, в архив помещается всё содержимое каталога
Доступно в версиях после 20250914
Пример
Точное задание пути архива через «таблицу»
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("打包失败:"..err)
else
sys.alert("打包成功:"..XXT_SCRIPTS_PATH.."/out.zip")
end
Прямая упаковка каталога
local ok, err = file.zip(XXT_SCRIPTS_PATH.."/project.zip", XXT_SCRIPTS_PATH.."/project")
if not ok then
sys.alert("打包失败:"..err)
else
sys.alert("打包成功:"..XXT_SCRIPTS_PATH.."/project.zip")
end
Примечание: приведённый выше код использует функцию не из этой главы — sys.alert.