我正在尝试在linux中创建一个文件夹的.zip文件。
首先我去压缩文件夹的位置:
shell_exec('cd /var/www/vhosts/website/test/');
文件夹测试有文件夹testzip,应该压缩并发送到其他地方:
shell_exec('zip a -r -tzip /var/www/vhosts/website/zip/save/testzip.zip /var/www/vhosts/website/test/testzip');
这应创建testzip.zip
。不知怎的,这不起作用。
有人可以帮忙吗?
答案 0 :(得分:1)
这些不是zip的选项。你想用-tzip
要求什么?开头的a
会创建a.zip
。如果您的意思是-a
,则zip没有-a
选项。唯一有意义的选项是-r
,可以递归到子目录中。
在尝试使用shell_exec()
之前,首先直接在shell中运行命令并解决您获得的错误。
答案 1 :(得分:0)
尝试
"zip -a -r ..."
而不是
"zip a -r ..."
---编辑---
阅读Mark Adler的评论,我意识到您正在使用带有7-zip参数的zip
。
所以......您确定zip
是指向7z
的链接吗?
无论如何,我建议你避免含糊不清:你的意图是使用7z
,用
"7z a -r -tzip ..."
如果您想调用zip
可执行文件,请使用正确的zip
语法。
p.s:抱歉我的英语不好