Heim > Backend-Entwicklung > Golang > Wie komprimiere ich Verzeichnisinhalte mit Ausnahme des Stammordners?

Wie komprimiere ich Verzeichnisinhalte mit Ausnahme des Stammordners?

Linda Hamilton
Freigeben: 2024-11-18 22:17:02
Original
359 Leute haben es durchsucht

How to Zip Directory Contents Excluding the Root Folder?

So komprimieren Sie Verzeichnisinhalte mit Ausnahme des Stammordners

Frage:

Sie haben ein Verzeichnis Struktur wie folgt:

dir1
  file1.html
  file2.go
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie es nach dir1.zip komprimieren und extrahieren, erhalten Sie die gleiche Struktur:

dir1
  file1.html
  file2.go
Nach dem Login kopieren
Nach dem Login kopieren

Allerdings möchten Sie den darin enthaltenen Inhalt komprimieren. dir1“ ohne den Stammordner „dir1“ als Ergebnis nach dem Extrahieren.

Antwort:

Um dies zu erreichen, ändern Sie den Code in Ihrer Zipit-Funktion. Untersuchen Sie insbesondere den folgenden Code:

if baseDir != "" {
    header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, source))
}
Nach dem Login kopieren

Dieser Code fügt das Basisverzeichnis (in diesem Fall „dir1“) zum Dateinamen im Archiv hinzu. Um den Stammordner vom extrahierten Inhalt auszuschließen, entfernen Sie einfach den Zusatz des Basisverzeichnisses:

header.Name = strings.TrimPrefix(path, source)
Nach dem Login kopieren

Dieser Code schneidet das Präfix aus dem Pfad ab und weist es dem Headernamen zu, ohne das Basisverzeichnis einzuschließen.

Beispiel:

Wenn Sie Ihre Funktion wie folgt aufrufen:

Zipit("dir1/", "dir1.zip")
Nach dem Login kopieren

Nach der Codeänderung lautet Ihr extrahierter Inhalt:

file1.html
file2.go
Nach dem Login kopieren

ohne den Stammordner „dir1“.

Weitere Hinweise:

  • Es ist zu beachten, dass sich diese Änderung auf den Dateinamen auswirkt innerhalb des Archivs, nicht der eigentliche Inhalt der Dateien.
  • Sie können mit anderen Dateipfadfunktionen experimentieren, um den Dateinamen nach Wunsch weiter anzupassen.

Das obige ist der detaillierte Inhalt vonWie komprimiere ich Verzeichnisinhalte mit Ausnahme des Stammordners?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage