To use these features, you must compile PHP with zip support using the –enable-zip configure option.
Installation for Windows users:
Since PHP 5.3 this extension is built in. Windows users must first enable php_zip.dll inside php.ini to use its functionality.Example:This example uses the ZipArchive class and creates an archived file.
// Enter the name of the directory
$pathdir
=
"Directory Name /"
;
// Enter a name to create the zip directory
$zipcreated
=
"Name of Zip.zip"
;
// Create a new zip class
$zip
=
new
ZipArchive;
if
(
$zip
-> open (
$zipcreated
, ZipArchive::CREATE) === TRUE) {
// Save the path to a variable
$dir
= opendir (
$pathdir
);
while
(
$file
= readdir (
$dir
)) {
if
(
is_file
(
$pathdir
.
$file
) ) {
$zip
-> addFile (
$pathdir
.
$file
,
$file
);
}
}
$zip
-> close();
}
?>
Example.This example uses the ZipArchive class to unpack a file or directory.
// Create a new zip class
$zip
=
new
ZipArchive;
// Add the ZIP file you want
// unzip
$zip
-> open (
’filename.zip’
);
// Extract to the current directory
$zip
-> extractTo (
’. /’
);
$zip
-> close();
?>
Steps to start the program:The zip directory "zipfile" containing the file "a.txt". - Save the above code in two files with a .php extension. One for zip and another for unzipping a directory. Also provide the appropriate path for the directory.
- Here we are using XAMPP to run a local web server. Place the php files along with the archive directory in C: / xampp / htdocs (in this case, XAMPP is installed on the C :) drive.
- In your browser, enter https://localhost/zip.php as the URL, and the file will be zipped.
- This creates a new zip file named “file”.
Do the same to unzip in the same way. Make sure the file name and path are the same. The a.txt text file is extracted from the zip file.