• Register
Hi, Welcome to PHPHunts.com, a PHP community website where you can ASK Question or search for answers to your PHP, JQuery and CSS queries. Click here to Register

374 questions

284 answers

22 comments

247 users

ZIP FILE IN PHP?

0 votes

how to Creating ZIP File in PHP?

asked Sep 4, 2012 in PHP by Parthiv Shah Guru (10,910 points)
edited Sep 4, 2012 by Parthiv Shah
   

1 Answer

0 votes
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;
  }
} // end of function



$sitemap = array(
  'preload-images/1.jpg',
  'preload-images/2.jpg',
  'preload-images/5.jpg',
  'kwicks/ringo.gif',
  'rod.jpg',
  'reddit.gif'
);
$result = create_zip($sitemap,'my-archive.zip');
answered Sep 4, 2012 by Parthiv Shah Guru (10,910 points)
...