Mid-Atlantic Developer Conference


(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_readRead next entry in a ZIP file archive


zip_read ( resource $zip ) : resource

Reads the next entry in a zip file archive.



A ZIP file previously opened with zip_open().

Return Values

Returns a directory entry resource for later use with the zip_entry_... functions, or FALSE if there are no more entries to read, or an error code if an error occurred.

See Also

add a note add a note

User Contributed Notes 2 notes

6 years ago
Note: Only the first 65535 entries will be returned, even if your archive contains more entries. See https://bugs.php.net/bug.php?id=59118 for details.
nico at nicoswd dot com
11 years ago
If you get an error like this:

Warning: zip_read() expects parameter 1 to be resource, integer given in xxxxxx on line x

It's because zip_open() failed to open the file and returned an error code instead of a resource. It took me a while to figure out why it failed to open the file, until I tried to use the FULL path to the file.


// Even if the file exists, zip_open() will return an error code.
$file = 'file.zip';
$zip = zip_open($file);

// The workaround:
$file = getcwd() . '/file.zip';

// Or:
$file = 'C:\\path\\to\\file.zip';


This worked for me on Windows at least. I'm not sure about other platforms.
To Top