Empacotar arquivos com ZIP (file.zip)
Declaração
sucesso, mensagem_de_erro = file.zip(caminho_do_zip, lista_de_arquivos [, senha])
Parâmetros
- caminho do zip
Texto; caminho onde o arquivo zip a ser criado será salvo. - lista de arquivos
Tabela | texto.- quando for uma tabela: cada item é uma tabela com dois elementos
{ caminho_do_arquivo_de_origem, caminho_de_arquivamento }; o caminho de arquivamento é o caminho relativo dentro do zip - quando for uma string: representa um diretório; o conteúdo desse diretório será empacotado no zip
- quando for uma tabela: cada item é uma tabela com dois elementos
- senha
Texto opcional; quando fornecida, cria um zip criptografado.
Valores retornados
- sucesso
Booleano; retorna true em caso de sucesso e false em caso de falha. - mensagem de erro
Texto; mensagem de erro em caso de falha.
Observações
Compacta arquivos ou diretórios em um arquivo zip.
Quandolista de arquivosfor uma tabela, permite controlar precisamente o caminho relativo de cada entrada dentro do zip; quando for uma string, empacota todo o conteúdo do diretório.
Disponível somente em versões posteriores a 20250914.
Exemplo
Especificar precisamente o caminho de arquivamento usando uma “tabela”
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
Empacotar diretamente um diretório
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
Observação: o código acima usa a função sys.alert, que não pertence a este capítulo.