ZipArchive::open
  Open a ZIP file archive
  
 
  Description
  
   public boolint ZipArchive::open(string $filename, int $flags = 0)
  
  
   Since libzip 1.6.0, an empty file is not a valid archive any longer.
  
  
 
  Parameters
  
   
    
     - 
filename 
     - 
      
       The file name of the ZIP archive to open.
      
      
    
    
     - 
flags 
     - 
      
       The mode to use to open the archive.
       
        - 
         
          ZipArchive::OVERWRITE
         
         
        - 
         
          ZipArchive::CREATE
         
         
        - 
         
          ZipArchive::RDONLY
         
         
        - 
         
          ZipArchive::EXCL
         
         
        - 
         
          ZipArchive::CHECKCONS
         
         
       
      
      
    
   
  
  
 
  Return Values
  
   Returns true on success, false or one of the following error codes on error:
   
    
     - 
ZipArchive::ER_EXISTS 
     - 
      File already exists.
     
 
    
    
     - 
ZipArchive::ER_INCONS 
     - 
      Zip archive inconsistent.
     
 
    
    
     - 
ZipArchive::ER_INVAL 
     - 
      Invalid argument.
     
 
    
    
     - 
ZipArchive::ER_MEMORY 
     - 
      Malloc failure.
     
 
    
    
     - 
ZipArchive::ER_NOENT 
     - 
      No such file.
     
 
    
    
     - 
ZipArchive::ER_NOZIP 
     - 
      Not a zip archive.
     
 
    
    
     - 
ZipArchive::ER_OPEN 
     - 
      Can't open file.
     
 
    
    
     - 
ZipArchive::ER_READ 
     - 
      Read error.
     
 
    
    
     - 
ZipArchive::ER_SEEK 
     - 
      Seek error.
     
 
    
   
  
  
 
  Examples
    
     Example #1 Open and extract
     
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>
 
      
     
    
     Example #2 Create an archive
     
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
 
      
     
    
     Example #3 Create an temporary archive
     
<?php
$name = tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE); /* truncate as empty file is not valid */
if ($res === TRUE) {
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>