PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ZipArchive::renameIndex> <ZipArchive::locateName
Last updated: Fri, 18 Jul 2008

view this page in

ZipArchive::open

(No version information available, might be only in CVS)

ZipArchive::open — Open a ZIP file archive

Description

mixed ZipArchive::open ( string $filename [, int $flags ] )

Opens a new zip archive for reading, writing or modifying.

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::EXCL

  • ZIPARCHIVE::CHECKCONS

Return Values

Error codes

Returns TRUE on success or the error code.

  • ZIPARCHIVE::ER_EXISTS

  • ZIPARCHIVE::ER_INCONS

  • ZIPARCHIVE::ER_INVAL

  • ZIPARCHIVE::ER_MEMORY

  • ZIPARCHIVE::ER_NOENT

  • ZIPARCHIVE::ER_NOZIP

  • ZIPARCHIVE::ER_OPEN

  • ZIPARCHIVE::ER_READ

  • ZIPARCHIVE::ER_SEEK

Examples

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

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';
}
?>


ZipArchive::renameIndex> <ZipArchive::locateName
Last updated: Fri, 18 Jul 2008
 
add a note add a note User Contributed Notes
ZipArchive::open
olivier pons
16-May-2008 08:26
If you try this to open a file with creation in mind (= empty zip to fill with other files), this may not work :

$res = $zip->open($zip_file, ZipArchive::CREATE);

// you may get false

Try this instead, it should work :

$res = $zip->open($zip_file, ZIPARCHIVE::OVERWRITE);
Anonymous
19-Dec-2007 02:26
It seems the filename has to end in '.zip', so this suffix must be added when using tempnam() to create a random temporary file name.
rickky at gmail dot com
02-Jul-2007 01:07
If the directory you are writing or saving into does not have the correct permissions set, you won't get any error messages and it will look like everything worked fine... except it won't have changed!

Instead make sure you collect the return value of ZipArchive::close(). If it is false... it didn't work.

ZipArchive::renameIndex> <ZipArchive::locateName
Last updated: Fri, 18 Jul 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites