Bagaimana untuk Mengezip Kandungan Direktori Tidak Termasuk Folder Root?

Linda Hamilton
Lepaskan: 2024-11-18 22:17:02
asal
297 orang telah melayarinya

How to Zip Directory Contents Excluding the Root Folder?

Cara Mengezip Kandungan Direktori Tidak Termasuk Folder Root

Soalan:

Anda mempunyai direktori struktur seperti ini:

dir1
  file1.html
  file2.go
Salin selepas log masuk
Salin selepas log masuk

Apabila anda zip ke dir1.zip dan ekstraknya, anda mendapat struktur yang sama:

dir1
  file1.html
  file2.go
Salin selepas log masuk
Salin selepas log masuk

Walau bagaimanapun, anda mahu zip kandungan di dalam "dir1" tanpa folder akar "dir1" sebagai hasilnya selepas mengekstrak.

Jawapan:

Untuk mencapai ini, ubah suai kod dalam fungsi Zipit anda. Secara khusus, periksa kod berikut:

if baseDir != "" {
    header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, source))
}
Salin selepas log masuk

Kod ini menambah direktori asas (dalam kes ini, "dir1") pada nama fail di dalam arkib. Untuk mengecualikan folder akar daripada kandungan yang diekstrak, cuma alih keluar penambahan direktori asas:

header.Name = strings.TrimPrefix(path, source)
Salin selepas log masuk

Kod ini memangkas awalan daripada laluan dan menetapkannya kepada nama pengepala tanpa memasukkan direktori asas.

Contoh:

Jika anda memanggil fungsi anda sebagai berikut:

Zipit("dir1/", "dir1.zip")
Salin selepas log masuk

Selepas membuat pengubahsuaian kod, kandungan anda yang diekstrak ialah:

file1.html
file2.go
Salin selepas log masuk

tanpa folder akar "dir1".

Lain-lain Nota:

  • Perlu diperhatikan bahawa pengubahsuaian ini mempengaruhi nama fail dalam arkib, bukan kandungan sebenar fail.
  • Anda boleh bereksperimen dengan fungsi laluan fail lain untuk menyesuaikan lagi nama fail seperti yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Mengezip Kandungan Direktori Tidak Termasuk Folder Root?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan