如何压缩不包括根文件夹的目录内容
问题:
您有一个目录结构如下:
dir1 file1.html file2.go
当你将其压缩到 dir1.zip 并解压时,你会得到相同的结构:
dir1 file1.html file2.go
但是,你想将内容压缩到 "解压后的结果是“dir1”,而没有根文件夹“dir1”。
答案:
要实现此目的,请修改 Zipit 函数中的代码。具体来说,检查以下代码:
if baseDir != "" { header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, source)) }
此代码将基本目录(在本例中为“dir1”)添加到存档内的文件名中。要从提取的内容中排除根文件夹,只需删除添加的基本目录:
header.Name = strings.TrimPrefix(path, source)
此代码从路径中删除前缀并将其分配给标头名称,而不包含基本目录。
示例:
如果您按如下方式调用函数:
Zipit("dir1/", "dir1.zip")
修改代码后,您提取的内容将是:
file1.html file2.go
没有“dir1”根文件夹。
其他注意事项:
以上是如何压缩不包括根文件夹的目录内容?的详细内容。更多信息请关注PHP中文网其他相关文章!