我正在编写一个PHP脚本,将一系列生成的文件(使用wget
)下载到目录中,然后使用zip
命令进行拉链。
下载工作完美,压缩工作大部分都有效。我运行命令:
zip -r /var/www/oraviewer/rgn_download/download/fcst_20100318_0319.zip /var/www/oraviewer/rgn_download/download/fcst_20100318_0319
生成包含所有下载文件的zip文件,但在到达/var/www/oraviewer/rgn_download/download/
目录之前包含完整的fcst_20100318_0319/
目录。
我可能只是从zip命令中丢失了一个标志或一些小标签,但是如何让它使用fcst_20100318_0319/
作为根目录?
答案 0 :(得分:40)
我认为zip没有标志可以做到这一点。我认为唯一的方法是:
cd /var/www/oraviewer/rgn_download/download/ && \
zip -r fcst_20100318_0319.zip fcst_20100318_0319
(反斜杠只是为了清晰起见,你可以将其删除并将所有内容放在一行上。)
由于PHP在子shell中执行命令,因此不会更改当前目录。
答案 1 :(得分:3)
我也可以通过使用此命令
来实现它exec('cd'。$ _ SERVER ['DOCUMENT_ROOT']。'&& zip -r com.zip“./"') ;
答案 2 :(得分:0)
cd /home/public_html/site/upload/ && zip -r sub_upload.zip sub_upload/