如何识别 zip 文件是否包含与 zip 文件名称同名的文件夹
How to identify if a zip file contain the folder with same name as the zipfile name
我正在使用 PHP zip 存档 class 开发脚本。我的目的是确定 zip 文件是否包含与 zip 文件名本身同名的文件夹。如果不是,那么它将在解压缩期间创建一个文件夹名称作为 zipfile 名称。到目前为止,我已经尝试过如下:
例子:
zip 文件名为:TEST.zip
我的脚本将检查 TEST.zip 文件是否包含文件夹“TEST”
$zip = new \ZipArchive();
$zip->open('TEST.zip');
if($zip->locateName('/TEST') !== false) {
// directory exists
}
任何人都可以帮我找出如何使用 php ZIP::ARCHIVE class 吗?
我认为你只是把斜线放在了错误的一端:
$zip = new \ZipArchive();
$zip->open('TEST.zip');
if ($zip->locateName('TEST/') !== false) {
// directory exists
}
值得注意的是,如果它是一个文件而不是一个目录,它不会找到 TEST——这就是尾部斜杠的作用。
P.S。列出 ZipArchive 看到的所有名称:
$i = 0;
while (($name = $zip->getNameIndex($i)) !== false) {
printf("%d: %s\n", $i, $name);
$i++;
}
0: empty-dir/
1: file
2: dir-with-contents/
3: dir-with-contents/test.txt
我正在使用 PHP zip 存档 class 开发脚本。我的目的是确定 zip 文件是否包含与 zip 文件名本身同名的文件夹。如果不是,那么它将在解压缩期间创建一个文件夹名称作为 zipfile 名称。到目前为止,我已经尝试过如下: 例子: zip 文件名为:TEST.zip 我的脚本将检查 TEST.zip 文件是否包含文件夹“TEST”
$zip = new \ZipArchive();
$zip->open('TEST.zip');
if($zip->locateName('/TEST') !== false) {
// directory exists
}
任何人都可以帮我找出如何使用 php ZIP::ARCHIVE class 吗?
我认为你只是把斜线放在了错误的一端:
$zip = new \ZipArchive();
$zip->open('TEST.zip');
if ($zip->locateName('TEST/') !== false) {
// directory exists
}
值得注意的是,如果它是一个文件而不是一个目录,它不会找到 TEST——这就是尾部斜杠的作用。
P.S。列出 ZipArchive 看到的所有名称:
$i = 0;
while (($name = $zip->getNameIndex($i)) !== false) {
printf("%d: %s\n", $i, $name);
$i++;
}
0: empty-dir/
1: file
2: dir-with-contents/
3: dir-with-contents/test.txt