我正试图在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
。不知怎么的,这不起作用。
有人能帮忙吗?
这些不是zip的选项。你想用-tzip
要求什么?开始时的a
将创建一个a.zip
。如果您指的是-a
,则zip没有-a
选项。唯一有意义的选项是-r
,它递归到子目录中。
在尝试使用shell_exec()
之前,首先在shell中直接运行该命令并解决您遇到的错误。
尝试
"zip -a -r ..."
而不是
"zip a -r ..."
---编辑---
阅读Mark Adler的评论,我意识到您使用的是带有7-zip参数的zip
。
所以。。。您确定您的zip
是指向7z
的链接吗?
无论如何,我建议你避免歧义:你的意图是使用7z
吗,用明确它
"7z a -r -tzip ..."
如果要调用zip
可执行文件,请使用正确的zip
语法。
p.s.:很抱歉我的英语不好