使用 PHP 在 linux 服务器中压缩 ZIP 文件
Compressing ZIP files in a linux server with PHP
我正在尝试为 linux 中的文件夹创建一个 .zip 文件。
首先我去压缩文件夹所在的位置:
shell_exec('cd /var/www/vhosts/website/test/');
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 -a -r ..."
而不是
"zip a -r ..."
--- 编辑 ---
阅读 Mark Adler 的评论,我意识到您正在使用带有 7-zip 参数的 zip
。
所以...您确定您的 zip
是 link 到 7z
吗?
无论如何,我建议你避免歧义:你的意图是使用 7z
,用
明确它
"7z a -r -tzip ..."
如果要调用 zip
可执行文件,请使用正确的 zip
语法。
p.s.: 对不起我的英语不好
这些不是 zip 的选项。你想用 -tzip
要求什么?开头的 a
将创建一个 a.zip
。如果您指的是 -a
,则 zip 没有 -a
选项。唯一有意义的选项是 -r
,递归到子目录。
首先 运行 直接在 shell 命令中解决你得到的错误,然后再尝试使用 shell_exec()
.
我正在尝试为 linux 中的文件夹创建一个 .zip 文件。
首先我去压缩文件夹所在的位置:
shell_exec('cd /var/www/vhosts/website/test/');
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 -a -r ..."
而不是
"zip a -r ..."
--- 编辑 ---
阅读 Mark Adler 的评论,我意识到您正在使用带有 7-zip 参数的 zip
。
所以...您确定您的 zip
是 link 到 7z
吗?
无论如何,我建议你避免歧义:你的意图是使用 7z
,用
"7z a -r -tzip ..."
如果要调用 zip
可执行文件,请使用正确的 zip
语法。
p.s.: 对不起我的英语不好
这些不是 zip 的选项。你想用 -tzip
要求什么?开头的 a
将创建一个 a.zip
。如果您指的是 -a
,则 zip 没有 -a
选项。唯一有意义的选项是 -r
,递归到子目录。
首先 运行 直接在 shell 命令中解决你得到的错误,然后再尝试使用 shell_exec()
.