我正在尝试用php解压一个文件,但是我遇到了目录问题,如果我有一个名为test.zip的zip文件夹,它会用这种方式解压
test.zip
-> test
-> content 1
-> content 2
-> content 3/
-> content inside content 3
但是我想用这种方式解压缩
test.zip
-> content 1
-> content 2
-> content 3/
-> content inside content 3
我用了ZipArchive库也没用
$zip = new ZipArchive;
if ($zip->open($directoryName . '/test.zip') === TRUE) {
$zip->extractTo($directoryName);
$zip->close();
如果您正在解压缩当前文件夹中的ZIP文件,则在解压缩后移动文件夹内容并删除文件夹:
shell_exec("mv ./test/* ./ && rm -R test");
不应该是,但是如果文件夹在root中
shell_exec("mv /test/* / && rm -R /test");
请尝试以下操作:
$zip = new ZipArchive;
if ($zip->open($directoryName . '/test.zip') === TRUE) {
$zip->extractTo($directoryName);
$zip->close();
shell_exec("mv $directoryName/test/* $directoryName/ && rm -R $directoryName/test");