PHP Zip

Giới thiệu về PHP Zip

PHP cung cấp một bộ thư viện cho phép xử lý các tệp zip thông qua thư viện ZipArchive. Thư viện này cho phép bạn tạo, mở, sửa đổi và giải nén các tập tin zip một cách dễ dàng.

Cài đặt

Để sử dụng ZipArchive trong PHP, bạn cần đảm bảo rằng PHP đã được biên dịch với hỗ trợ cho Zip. Kiểm tra với lệnh:

phpinfo();

Tìm kiếm phần "Zip" trong kết quả để xác nhận rằng nó đã được cài đặt.

Khởi tạo ZipArchive

Để bắt đầu làm việc với zip trong PHP, bạn cần khởi tạo một đối tượng của lớp ZipArchive:

$zip = new ZipArchive();

Các phương thức chính

Tạo zip

Để tạo một tệp zip mới, bạn có thể sử dụng phương thức open()addFile():

$zip->open('example.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
$zip->addFile('file1.txt');
$zip->addFile('file2.txt');
$zip->close();

Giải nén zip

Để giải nén một tệp zip, bạn sử dụng phương thức extractTo():

$zip->open('example.zip');
$zip->extractTo('destination_folder');
$zip->close();

Kiểm tra tệp zip

Sử dụng open() để kiểm tra nếu tệp zip có tồn tại hay không:

if ($zip->open('example.zip') === TRUE) {
    echo 'Tệp zip mở thành công!';
    $zip->close();
} else {
    echo 'Không thể mở tệp zip.';
}

Ví dụ hoàn chỉnh

Dưới đây là một ví dụ hoàn chỉnh về cách tạo và giải nén một tệp zip trong PHP:

$zip = new ZipArchive();
$zipFileName = 'example.zip';

// Tạo tệp zip
if ($zip->open($zipFileName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    $zip->addFile('file1.txt');
    $zip->addFile('file2.txt');
    $zip->close();
    echo 'Tệp zip đã được tạo thành công!';
} else {
    echo 'Không thể tạo tệp zip.';
}

// Giải nén tệp zip
if ($zip->open($zipFileName) === TRUE) {
    $zip->extractTo('destination_folder');
    $zip->close();
    echo 'Tệp zip đã được giải nén thành công!';
} else {
    echo 'Không thể mở tệp zip để giải nén.';
}

Kết luận

Thư viện ZipArchive trong PHP cung cấp các phương thức mạnh mẽ để làm việc với tệp zip. Bằng cách sử dụng các phương thức này, bạn có thể dễ dàng quản lý các tệp zip trong ứng dụng của mình.