我正在使用PHP归档类开发一个脚本。我的目的是确定zip文件是否包含与zip文件名相同的文件夹。否则,它将在解压缩过程中创建一个文件夹名作为the文件名。我已经尝试了如下步骤:示例: zip文件名为: TEST.zip我的脚本将检查TEST.zip文件是否包含一个文件夹"TEST“
$zip = new \ZipArchive();
$zip->open('TEST.zip');
if($zip->locateName('/TEST') !== false) {
// directory exists
}有人能帮我找出如何用php ZIP::ARCHIVE类来完成它吗?
发布于 2021-05-19 17:50:14
我想你只是把斜杠放错了头:
$zip = new \ZipArchive();
$zip->open('TEST.zip');
if ($zip->locateName('TEST/') !== false) {
// directory exists
}值得注意的是,它不会找到测试它是否是一个文件,而不是一个目录-这就是尾随斜杠所完成的。
请列出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.txthttps://stackoverflow.com/questions/67607505
复制相似问题