使用ZipArchive类提取时跳过“root”目录?

时间:2012-02-02 19:42:05

标签: php unzip ziparchive

我正在尝试使用ZipArchive类来解压缩包含GitHub存储库的zip的内容。

当你从GitHub下载一个zip时,zip包含一个zip文件夹根目录下的文件夹,名为“project-2302392-20230”...然后在该文件夹中是存储库的实际内容。

是否可以在不提取文件夹本身的情况下提取该项目文件夹中的所有内容?

1 个答案:

答案 0 :(得分:0)

这是找出github zip存档唯一顶级目录名称的一种方法。

  1. 使用getArchiveComment()获取ziparchive评论。
  2. 使用strpos删除除前7个之外的所有字符,并添加git用户名和repo名称,如'/USER-REPO-'.substr($comment,0,0);
  3. 你也可以使用正则表达式,scandir和其他一些方法。