Introduction to PHP Zip Files
The PHP Zip files functions are used to stores the bunch of files or directory together in the compressed. The Zip is the archive file format that is used to stores the files in compressed form. The Zip archive is conveniently storing the bunch of files or and directory together in the compressed form for storing and sharing them. The PHP ZipArchive class can be used to zip and unzip the files. The PHP Zip files are not built in functions in PHP, as other built in functions are available in PHP, so we need to install the class if it is not present, if we are using the PHP 5 or other newer version, then the extensions required are free to download and install. The Zip extension requires is libzip.
To work with the Zip files we need to perform the installation as follow –
- Installation for the Linux users ( PHP 5+ ): The PHP Zip functions and library are not built in by default, so for the Linus user need to download them and to include Zip support, configuration option –with-libzip = DIR is to be used. The libzip version 0.11 is required, with 0.11.2 or later version recommended. For the Zip function to work, we have to compile PHP with –enable-zip.
- Installation for the Windows users ( PHP 5+ ): Same as Linux, in windows also the PHP Zip functions and library are not built in by default, so for the windows user need to download and enable php_zip.dll file which is present inside of php.ini in order to use its functions. But in the PHP 5.3 this extension is built in.
Functions of PHP Zip Files
While working with Zip files we need to use some of the function as mentioned below –
- zip_open(): This function is used to opens a ZIP file archive for reading.
- zip_read(): This function is used to read the next file in an open ZIP file archive.
- zip_entry_open(): This function is used to open a directory entry in the ZIP file in order for reading.
- zip_entry_read(): This function is used to read from an open directory entry in the ZIP file.
- zip_entry_compressedsize(): This function is used to get the compressed file size of the ZIP directory entry.
- zip_entry_compressionmethod(): This function is used to get the compression method of the ZIP directory entry.
- zip_entry_filesize(): This function is used to get the actual size of the file of the ZIP directory entry.
- zip_entry_name(): This function is used to get the name of the ZIP directory entry.
- zip_close(): This function is used to close the ZIP file archive.
- zip_entry_close(): This function is used to close the ZIP directory entry.
Examples of PHP XML into Array
Example of PHP Zip files to create the Zip file-
Next, we write the PHP code to understand the PHP Zip files more clearly with the following example, where the Zip file is used to store the bunch of files and directory together in the compressed form, as below –
Example #1
First, we will create the folder and then create the files or directory which we want to bundle and Zip them, then we use the PHP code to Zip them.
4.5 (5,678 ratings)
View Course
Code:
<?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:
As in the above code it is having the directory path(from where all the files are to Zip) and the file name(by what name the zip file is to be create). First the ZipArchive class object is created by using the this code “$zip_obj = new ZipArchive;”, then iterate all the file available in that directory path and then by using ZipArchive object the files are added to the Zip archive by using this code “$zip_obj -> addFile( $dir_path.$file, $file );”.
Example #2
Example of PHP Zip files to Unzip the Zip file-
Next, we write the PHP code to understand the PHP Zip files, where the Zip file is unzip to extract all the zipped files or directory here, as below –
Code:
<?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:
As in the above code it is having the directory path and the file name(which file is to unzip). First the ZipArchive class object is created by using the this code “$zip_obj = new ZipArchive;”, then by using ZipArchive object the file is open from that path and then extract all the files which were added to the Zip archive by using this code “$zip_obj -> extractTo(‘./’);”.
Recommended Articles
This is a guide to PHP Zip Files. Here we also discuss the introduction and functions of php zip files along with different examples and its code implementation. You may also have a look at the following articles to learn more –