使用PHP在linux服务器中压缩ZIP文件


Compressing ZIP files in a linux server with PHP

我正试图在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.:很抱歉我的英语不好