在创建时将文件添加到zip内的子文件夹

时间:2014-06-26 08:55:04

标签: bash zip subdirectory

我想在linux bash脚本上获得以下内容:

压缩文件FILE1.jar到子目录中的新存档。

下式给出: myfiletozip.jar

预期:

  • ./ myfiletozip.jar
  • ./ myarchive.zip
    • | / MODS /
      • | /myfiletozip.jar

是否可以在创建期间添加不存在的路径? 或者我必须在压缩之前在filelevel创建一个临时方式?

1 个答案:

答案 0 :(得分:0)

我没有一个选项允许你创建一个包含不存在的目录的zip文件。

但是使用php,你可以预先创建空的不存在目录的空zip文件,然后用你想要的真实文件/结构更新文件。

首先使用php myscript.php

运行此脚本
<?php
$zip = new ZipArchive();
$zip->open('my-archive.zip', ZipArchive::CREATE);
$zip->addEmptyDir('./dir1/subdirA');
$zip->addEmptyDir('./dir2/subdirB');
$zip->close();
?>

之后

zip -u my-archive.zip path_to_add