php怎么读取zip内目录

65次阅读
没有评论

共计 792 个字符,预计需要花费 2 分钟才能阅读完成。

您可以使用以下代码来读取 zip 文件内的目录:

$zip = new ZipArchive;
if ($zip->open('file.zip') === TRUE) {for ($i = 0; $i < $zip->numFiles; $i++) {$filename = $zip->getNameIndex($i);
        if (substr($filename, -1) == '/') {echo $filename . "\n";
        }
    }
    $zip->close();}

在上面的示例中,我们首先创建一个 ZipArchive 对象,然后打开 zip 文件。使用 getNameIndex() 方法可以获取 zip 文件内每个文件的名称,然后我们检查文件名的最后一个字符是否为'/',如果是的话,说明该文件是一个目录。我们将目录名称打印出来。

请注意,上述代码只能读取 zip 文件内的目录,无法读取目录内的文件。如果您需要读取目录内的文件,请参考以下代码:

$zip = new ZipArchive;
if ($zip->open('file.zip') === TRUE) {for ($i = 0; $i < $zip->numFiles; $i++) {$filename = $zip->getNameIndex($i);
        if (substr($filename, -1) != '/') {$dirname = dirname($filename);
            if (!in_array($dirname, $directories)) {$directories[] = $dirname;
                echo $dirname . "\n";
            }
        }
    }
    $zip->close();}

在上面的代码中,我们使用 dirname() 函数获取文件的目录名称,并使用一个数组 $directories 来存储已读取的目录名称,以避免重复输出。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-12发表,共计792字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)