Create a Zip File Using PHP
Creating .ZIP archives using PHP can be just as simple as creating
them on your desktop. PHP's ZIP class provides all the functionality
you need! To make the process a bit faster for you, I've coded a simple
create_zip function for you to use on your projects.
The PHP
function create_zip($files = array(),$destination = '',$overwrite = false) {
if(file_exists($destination) && !$overwrite) { return false; }
$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
$zip->close();
return file_exists($destination);
}
else
{
return false;
}
}
Sample Usage
$files_to_zip = array(
'preload-images/1.jpg',
'preload-images/2.jpg',
'preload-images/5.jpg',
'kwicks/ringo.gif',
'rod.jpg',
'reddit.gif'
);$result = create_zip($files_to_zip,'my-archive.zip');
The function accepts an array of files, the name of the destination
files, and whether or not you'd like the destination file to be
overwritten if a file of the same name exists. The function returns
true if the file was created, false if the process runs into any
problems.
No comments:
Post a Comment