Created
March 26, 2013 05:07
-
-
Save cherifgx/5243280 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/********************** | |
*@file - path to zip file | |
*@destination - destination directory for unzipped files | |
*/ | |
function unzip_file($file, $destination){ | |
// create object | |
$zip = new ZipArchive() ; | |
// open archive | |
if ($zip->open($file) !== TRUE) { | |
die ("Could not open archive"); | |
} | |
// extract contents to destination directory | |
$zip->extractTo($destination); | |
// close archive | |
$zip->close(); | |
echo 'Archive extracted to directory'; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* creates a compressed zip file */ | |
function create_zip($files = array(),$destination = '',$overwrite = false) { | |
//if the zip file already exists and overwrite is false, return false | |
if(file_exists($destination) && !$overwrite) { return false; } | |
//vars | |
$valid_files = array(); | |
//if files were passed in... | |
if(is_array($files)) { | |
//cycle through each file | |
foreach($files as $file) { | |
//make sure the file exists | |
if(file_exists($file)) { | |
$valid_files[] = $file; | |
} | |
} | |
} | |
//if we have good files... | |
if(count($valid_files)) { | |
//create the archive | |
$zip = new ZipArchive(); | |
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { | |
return false; | |
} | |
//add the files | |
foreach($valid_files as $file) { | |
$zip->addFile($file,$file); | |
} | |
//debug | |
//echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; | |
//close the zip -- done! | |
$zip->close(); | |
//check to make sure the file exists | |
return file_exists($destination); | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
/***** Example Usage ***/ | |
$files=array('file1.jpg', 'file2.jpg', 'file3.gif'); | |
create_zip($files, 'myzipfile.zip', true); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment