Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fail Zip PHP

Fail Zip PHP

WBOY
WBOYasal
2024-08-29 12:55:501051semak imbas

Fungsi fail PHP Zip digunakan untuk menyimpan sekumpulan fail atau direktori bersama-sama dalam dimampatkan. Zip ialah format fail arkib yang digunakan untuk menyimpan fail dalam bentuk termampat. Arkib Zip dengan mudah menyimpan banyak fail atau direktori bersama dalam bentuk termampat untuk menyimpan dan berkongsinya. Fail PHP Zip bukan fungsi terbina dalam dalam PHP, kerana fungsi terbina dalam lain tersedia dalam PHP, jadi kami perlu memasang kelas jika ia tidak hadir; jika kami menggunakan PHP 5 atau versi lain yang lebih baharu, maka sambungan yang diperlukan adalah percuma untuk dimuat turun dan dipasang. Sambungan Zip memerlukan libzip.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Untuk bekerja dengan fail Zip, kami perlu melakukan pemasangan seperti berikut –

Pengguna Linux (PHP 5+):

  • Pengguna Linux mesti memuat turun dan menyertakan fungsi dan pustaka Zip PHP kerana ia tidak terbina dalam secara lalai.
  • Pastikan libzip versi 0.11 atau lebih baru dipasang, dengan versi disyorkan 0.11.2 atau lebih baru.
  • Semasa penyusunan PHP, gunakan pilihan konfigurasi –with-libzip=DIR untuk menyertakan sokongan Zip.
  • Untuk mendayakan fungsi Zip, PHP mesti disusun dengan bendera –enable-zip.

Pengguna Windows (PHP 5+):

  • Sama seperti Linux, fungsi dan pustaka Zip PHP tidak dibina secara lalai untuk pengguna Windows.
  • Muat turun dan dayakan fail php_zip.dll, yang terletak di dalam fail konfigurasi php.ini, untuk menggunakan fungsi Zip.
  • Perhatikan bahawa dalam PHP 5.3, sambungan ini sudah terbina dalam, jadi tiada langkah tambahan diperlukan.

Fungsi

Semasa bekerja dengan fail Zip, kami perlu menggunakan beberapa fungsi yang dinyatakan di bawah –

  • zip_open(): Membuka arkib fail ZIP untuk dibaca.
  • zip_read(): Membaca fail seterusnya dalam arkib fail ZIP terbuka.
  • zip_entry_open(): Membuka masukan direktori dalam fail ZIP untuk dibaca.
  • zip_entry_read(): Membaca daripada entri direktori terbuka dalam fail ZIP.
  • zip_entry_compressedsize(): Mengambil semula saiz fail termampat entri direktori ZIP.
  • zip_entry_compressionmethod(): Mengambil semula kaedah mampatan entri direktori ZIP.
  • zip_entry_filesize(): Mendapatkan semula saiz sebenar fail entri direktori ZIP.
  • zip_entry_name(): Mendapatkan semula nama entri direktori ZIP.
  • zip_close(): Menutup arkib fail ZIP.
  • zip_entry_close(): Menutup masukan direktori ZIP.

Contoh PHP XML ke dalam Array

Contoh fail Zip PHP untuk mencipta fail Zip-

Seterusnya, kami menulis kod PHP untuk memahami fail Zip PHP dengan lebih jelas dengan contoh berikut, di mana fail Zip digunakan untuk menyimpan sekumpulan fail dan direktori bersama-sama dalam bentuk termampat, seperti di bawah –

Contoh #1

Pertama, kami akan mencipta folder dan kemudian mencipta fail atau direktori yang kami mahu gabungkan dan Zipkannya; kemudian kami menggunakan kod PHP untuk Zip mereka.

Kod:

<?php
// give the path of directory whose file we want to Zip
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// Creating the new zip class
$zip_obj = new ZipArchive;
if( $zip_obj -> open( $zipfile, ZipArchive::CREATE ) === TRUE )
{
// open the directory at the gien path into the variable
$dir = opendir( $dir_path );
while( $file = readdir( $dir )) {
if( is_file( $dir_path.$file )) {
$zip_obj -> addFile( $dir_path.$file, $file );
}
}
$zip_obj ->close();
}
?>

Output:

Fail Zip PHP

Seperti dalam kod di atas, ia mempunyai laluan direktori (dari mana semua fail adalah ke Zip) dan nama fail (dengan nama apa fail zip itu akan dibuat). Pertama, objek kelas ZipArchive dibuat dengan menggunakan kod ini "$zip_obj = ZipArchive baharu;" kemudian ulangi semua fail yang tersedia dalam laluan direktori itu dan kemudian dengan menggunakan objek ZipArchive, fail tersebut ditambahkan pada arkib Zip dengan menggunakan kod ini “$zip_obj -> addFile( $dir_path.$file, $file);.”

Contoh #2

Contoh fail Zip PHP untuk Nyahzip fail Zip-

Seterusnya, kami menulis kod PHP untuk memahami fail Zip PHP, di mana fail Zip dinyahzip untuk mengekstrak semua fail atau direktori yang dizip di sini, seperti di bawah –

Kod:

<?php
// Enter the path of directory
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// create new zip class object
$zip_obj = new ZipArchive;
$file = $dir_path.$zipfile;
print("The Zip file location is : ");
print($file);
// Add zip filename which we need to unzip
$zip_obj->open( $file );
// Extract all the Zip files to the current directory
$zip_obj->extractTo('./');
$zip_obj->close();
?>

Output:

Fail Zip PHP

Seperti dalam kod di atas, ia mempunyai laluan direktori dan nama fail (fail yang hendak di unzip). Pertama, objek kelas ZipArchive dibuat dengan menggunakan kod ini "$zip_obj = ZipArchive baharu;" Kemudian, dengan menggunakan objek ZipArchive, fail dibuka dari laluan itu dan kemudian ekstrak semua fail yang telah ditambahkan pada arkib Zip dengan menggunakan kod ini “$zip_obj -> extractTo(‘./’);”.

Atas ialah kandungan terperinci Fail Zip PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:PHP sscanf()Artikel seterusnya:PHP sscanf()