使用PHP ZipArchive将zip解压缩到特定目录中

时间:2012-07-19 23:11:43

标签: php ziparchive

我一直无法弄清楚是否有办法用php将zip解压缩到特定目录。使用

等代码时
$zip->extractTo("files/");

它会将zip解压缩到目录“files”,并将所有文件放在与zip名称相匹配的目录中。我不希望上传方能够决定上传目录的名称。例如,如果我上传一个名为的拉链 “zip.pdf”包含“myimg.jpg”,当我提取它时,它的位置变为:

files/zip/myimg.jpg

我希望它在哪里

files/myimg.jpg

无论如何,我想知道是否有办法让ZipArchive不创建一个新的目录来存放解压缩的内容,或者如果我必须遍历所有解压缩的文件并在解压缩完成后移动它们。

1 个答案:

答案 0 :(得分:2)

最安全的方法是随机播放zip内容并单独处理每个文件。也就是说,解压缩到唯一的临时目录,然后查看每个文件并做出决定。如果存在不同用户文件的冲突怎么办?不要盲目地发生这种情况。