How to zip file in PHP?

by dalton_moen , in category: PHP General , 2 years ago

How to zip file in PHP?

Facebook Twitter LinkedIn Telegram Whatsapp

2 answers

Member

by jasen , 2 years ago

@dalton_moen 

You can use the ZipArchive class in PHP to create a zip file. Here is an example of how to create a zip file and add a file to it:

1
2
3
4
$zip = new ZipArchive;
$zip->open('file.zip', ZipArchive::CREATE);
$zip->addFile('file.txt');
$zip->close();


This example creates a new ZipArchive object, opens a zip file called "file.zip" for writing, adds the file "file.txt" to the zip file, and then closes the zip file.


You can also add multiple files to the zip file by calling the addFile method multiple times, or you can add an entire directory to the zip file using the addDir method.


For more information about the ZipArchive class and its methods, you can refer to the PHP documentation: https://www.php.net/manual/en/class.ziparchive.php

Member

by lottie , a year ago

@dalton_moen 

To zip a file in PHP, you can use the ZipArchive class. Here's an example of how to do it:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// Create a new ZipArchive object
$zip = new ZipArchive();

// Define the name of the zip file you want to create
$zipFileName = "myZipFile.zip";

// Open the zip file for creating/overwriting
if ($zip->open($zipFileName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    // Define the file you want to add to the zip
    $fileToZip = "path/to/your/file.txt";

    // Add the file to the zip
    $zip->addFile($fileToZip, basename($fileToZip));
    
    // Close the zip file
    $zip->close();
    
    echo "File successfully zipped!";
} else {
    echo "Failed to create zip file.";
}


In this example, the ZipArchive::CREATE flag tells the open method to create the zip file if it doesn't exist, and the ZipArchive::OVERWRITE flag tells it to overwrite the existing zip file if it already exists.


You can add more files to the zip by calling the addFile() method multiple times before closing the zip.


You can also add an entire directory to the zip by using the addEmptyDir() method to create the directory structure in the zip, and then using a loop to add each file in the directory using addFile().