首頁  >  文章  >  後端開發  >  如何壓縮不包括根資料夾的目錄內容?

如何壓縮不包括根資料夾的目錄內容?

Linda Hamilton
Linda Hamilton原創
2024-11-18 22:17:02292瀏覽

How to Zip Directory Contents Excluding the Root Folder?

如何壓縮不包含根資料夾的目錄內容

問題:

問題:
dir1
  file1.html
  file2.go

您有一個目錄結構如下:
dir1
  file1.html
  file2.go

當你將其壓縮到dir1.zip 並解壓縮時,你會得到相同的結構:

但是,你想將內容壓縮到"解壓縮後的結果是“dir1”,而沒有根資料夾“dir1”。

答案:
if baseDir != "" {
    header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, source))
}

要實現此目的,請修改Zipit 函數中修改Zipit 函數中的程式碼。排除根資料夾,只需刪除已新增的基本目錄:
header.Name = strings.TrimPrefix(path, source)

此程式碼從路徑中刪除前綴並將其指派給標頭名稱,而不包含基本目錄。

範例:

如果您如下呼叫函數:

Zipit("dir1/", "dir1.zip")
修改程式碼後,您擷取的內容將會是:

file1.html
file2.go
沒有「dir1」根資料夾。不是檔案的實際內容。

以上是如何壓縮不包括根資料夾的目錄內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn