使用特定目录作为根来压缩目录的命令

Tar*_*rka 34 linux zip command-line command

我正在编写一个PHP脚本,将一系列生成的文件(使用wget)下载到一个目录中,然后使用该zip命令进行拉链.

下载工作完美,压缩工作大部分都有效.我运行命令:

zip -r /var/www/oraviewer/rgn_download/download/fcst_20100318_0319.zip /var/www/oraviewer/rgn_download/download/fcst_20100318_0319
Run Code Online (Sandbox Code Playgroud)

它产生一个包含所有下载文件的zip文件,但它/var/www/oraviewer/rgn_download/download/在到达fcst_20100318_0319/目录之前包含完整目录.

我可能只是从zip命令中缺少一个标志或一些小的标志,但我如何将其fcst_20100318_0319/用作根目录?

Jay*_*ayM 40

我认为zip没有标志可以做到这一点.我认为唯一的方法是:

cd /var/www/oraviewer/rgn_download/download/ && \
   zip -r fcst_20100318_0319.zip fcst_20100318_0319
Run Code Online (Sandbox Code Playgroud)

(反斜杠只是为了清晰起见,您可以删除它并将所有内容放在一行上.)

由于PHP在子shell中执行命令,因此它不会更改当前目录.


小智 5

我也使用这个命令让它工作

exec('cd '.$_SERVER['DOCUMENT_ROOT'].' && zip -r com.zip "./"');