PHP ZipArchive:解压缩后查找压缩文件夹的名称


PHP ZipArchive: Finding the name of the zipped folder after unzipping

我正在使用 ZipArchive 解压缩一个 zip 文件:

这个文件是一个压缩的文件夹,我想:

确保内容仅包含一个文件夹(显然侧面有文件(获取解压缩文件夹的名称,以便我可以根据需要重命名它?

但是解压缩后无法获取文件夹名称?我知道我可以获取zip文件的名称,因为大多数时候压缩它时使用相同的名称,但有些人也会更改压缩文件名。

如果您确定 zip 中只有一个目录,您可以这样做:

$dir = trim($zip->getNameIndex(0), '/');

否则,您必须遍历所有文件,并以某种方式找出您想要的哪一个文件:

for ($i = 0; $i < $zip->numFiles; $i++) {
    $entry = $zip->getNameIndex($i);
}