Empaqueter des fichiers avec ZIP (file.zip)
Déclaration
succès, message d’erreur = file.zip(chemin_zip, liste de fichiers [, mot de passe])
Paramètres
- chemin_zip
Chaîne, chemin où enregistrer le fichier zip à créer - liste de fichiers
Type table | chaîne- Si c’est une table : chaque élément est une table à deux éléments chemin du fichier source, chemin d’archive , où le « chemin d’archive » est le chemin relatif à l’intérieur du zip
- Si c’est une chaîne : représente le chemin d’un répertoire dont le contenu sera empaqueté dans le zip
- mot de passe
Chaîne, paramètre facultatif ; s’il est fourni, crée un zip chiffré
Valeur de retour
- succès
Booléen, renvoie true si l’opération réussit et false dans le cas contraire - message d’erreur
Chaîne, message d’erreur en cas d’échec
Description
Compresse un fichier ou un répertoire dans un fichier zip
Lorsque laliste de fichiersest une table, permet de contrôler précisément le chemin relatif de chaque entrée dans le zip ; lorsqu’il s’agit d’une chaîne, empaquette l’ensemble du contenu du répertoire
Cette fonction est disponible dans les versions postérieures à 20250914
Exemple
Spécifier précisément le chemin d’archive avec une « table »
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
Empaqueter directement un répertoire
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
Remarque : le code ci-dessus utilise la fonction hors de ce chapitre sys.alert