Kita bisa menggunakan kelas PHP ZipArchive untuk zip dan unzip folder di PHP. Mulai dari PHP5. 3, kelas ini sudah terpasang. Untuk menggunakan di windows pengguna perlu mengaktifkan php_zip. dll di dalam php. ini
Contoh
open($zipcreated, ZipArchive::CREATE ) === TRUE) { $dir = opendir($pathdir); while($file = readdir($dir)) { if(is_file($pathdir.$file)) { $newzip -> addFile($pathdir.$file, $file); } } $newzip ->close(); } ?>Zip folder dengan Sub folder menggunakan PHP
- Artikel
- Komentar
Beranda » PHP » Zip folder dengan Sub folder menggunakan PHP Oleh. Varadharaj V Kategori. PHP Tag. Ritsleting
Zip folder dengan Sub folder menggunakan PHP. Anda dapat membuat zip seluruh folder menggunakan artikel ini. Tetapi jika Anda ingin meng-zip folder dengan sub folder,
Gunakan artikel ini dan buat zip dengan seluruh folder dan sub folder. Mari kita mulai dengan pembuatan Zip
zipFile('path/to/the/zip/folder','kv_zip.zip', true);_Dan sekarang, kita perlu menggunakan fungsi untuk panggilan rekursif jadi buatlah fungsi di sini
function kv_scanfile($source){ }Mari kita mulai dengan pemindaian folder dan file
if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { $file = str_replace('\\', '/', realpath($file)); if (is_dir($file) === true) { $zip->addEmptyDir(str_replace($source . '/', '', $flag.$file . '/')); } else if (is_file($file) === true) { $zip->addFromString(str_replace($source . '/', '', $flag.$file), file_get_contents($file)); } } } else if (is_file($source) === true){ $zip->addFromString($flag.basename($source), file_get_contents($source)); } else if (is_dir($source) === true){ kv_scanfile($source); }dan jika mendeteksi file, itu akan di-zip di sini. dan jika menemukan direktori apa pun, yang akan membuat direktori di dalam zip dan memanggil fungsi itu lagi dan memindai file sub folder. Jadi itu akan memanggil secara rekursif, sampai semua folder dipindai
20-07-2014Varadharaj V
Membagikan.
Tentang Varadharaj V
Pendiri Kvcodes, Varadharaj V adalah Analis ERP dan pengembang Web yang berspesialisasi dalam WordPress(WP), pengembangan Tema WP, pengembangan Plugin WP, Akuntansi Depan(FA), Penjualan, Pembelian, Inventaris, Buku Besar, Penggajian & HRM, CRM, FA . Tingkat Lanjut Manajemen Basis Data
Saat ini saya sedang mengembangkan dan menguji pada PC Windows 10. Pada akhirnya itu harus bekerja di Linux (Ubuntu), tetapi langkah pertama adalah membuatnya bekerja di Windows
Saya mulai dengan solusi dari https. //inti. github. com/MarvinMenzerath/4185113/72db1670454bd707b9d761a9d5e83c54da2052ac dan https. //stackoverflow. com/questions/1334613/how-to-recursively-Zip-a-directory-in-php tetapi file zip sedang dibuat, namun, bukan file yang ditambahkan
Saya menyadari masalahnya adalah jalur relatif untuk folder/file di dalam zip. Solusi saya di bawah ini adalah modifikasi dari solusi yang direferensikan, di mana saya menghapus jalur sumber dari jalur file isian setiap folder dan file untuk memberikan jalur relatif ke sumber
Sejauh ini berfungsi di Windows, langkah selanjutnya adalah menguji di Linux. Saya secara aktif mengerjakan masalah jadi nantikan terus
Saya membuat file “D. \Temp\php\test_zip. php” dengan kode di bawah ini
Saya mengeksekusi dengan perintah berikut (Saya telah menginstal XAMPP dengan menyertakan PHP). "D. \Temp\php>D. \xampp\php\php. exe test_zip. php”
Kode
(Pembantu. Saya menggunakan https. // www. freeformatter. com/html-escape. html untuk mengonversi kode PHP mentah menjadi sesuatu yang dapat saya tempel di antara _______________
Kami telah membuat fungsi dalam PHP yang disebut create_zip (). Yang memampatkan dan mengunduh file atau folder ke dalam zip
Anda akan melihat bahwa fungsi bernama create_zip () dipanggil di skrip PHP terakhir. Fungsi ini memampatkan file dan folder dalam zip. Dan Jika Anda ingin mengubah nama file zip yang akan dibuat dan diunduh, Anda juga dapat mengubah namanya dengan mudah
CATATAN. - Tempat Anda membuat_zip ($ files_to_zip, 'my-archive. ritsleting'); . zip” sudah selesai, sebagai gantinya Anda dapat menyimpan nama apa pun yang ingin Anda simpan
Sekarang Anda harus pergi ke browser. Dan tekan URL berikut
//localhost/index.phpFile zip yang kami beri nama “my-archive. zip” diubah menjadi zip tersebut setelah mengunduh. Anda dapat melihat pada gambar di bawah ini
Kesimpulan
Itu dia;