Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Zip và unzip file và folder trong PHP - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Zip là một định dạng nén phổ biến, thường được sử dụng để giảm dung lượng của các loại tệp tin, để thuận tiện trong việc chia sẻ chúng với người khác hoặc lưu trữ. Trong PHP, bạn có thể sử dụng class ZipArchive để hỗ trợ việc nén một hoặc nhiều tệp tin vào một tệp tin zip duy nhất.

ZipArchive là một class có sẵn trong PHP, do đó bạn có thể sử dụng nó mà không cần cài đặt thêm bất kỳ thành phần nào.

Zip 1 file

<?php
// Init ZipArchive
$zipArchive = new ZipArchive();

// open zip file
if ($zipArchive->open('output/data.zip', ZipArchive::CREATE || ZipArchive::OVERWRITE)) {
    // Add files
    if (!$zipArchive->addFile('data/test-1.txt', 'test-1.txt')) {
        printf("zip file error");
        exit;
    }
} else {
    printf('Open file error');
    exit;
}

// Close ZipArchive
$zipArchive->close();

Kết quả:

Zip 1 folder

<?php
// Init ZipArchive
$zipArchive = new ZipArchive();

// open zip file
if ($zipArchive->open('output/data.zip', ZipArchive::CREATE || ZipArchive::OVERWRITE)) {

    // Add folder
    $dir = opendir('data/');
    while($file = readdir($dir)) {
        if(is_file("data/${file}")) {
            if (!$zipArchive->addFile("data/${file}", $file)) {
                printf("zip file error");
                exit;
            }
        }
    }

} else {
    printf('Open file error');
    exit;
}

// Close ZipArchive
$zipArchive->close();

Kết quả:

Unzip file

<?php
// Init ZipArchive
$zipArchive = new ZipArchive();

// open zip file
if ($zipArchive->open('output/data.zip')) {
    // Extracts to current directory
    $zipArchive->extractTo('./');
} else {
    printf('Open file error');
    exit;
}

// Close ZipArchive
$zipArchive->close();

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *