When reading from a zip file if the initial call to zip_entry_read() returns false it would be advisable to run mkdir with the file name since it it very likely that the zero length file was a directory and attempts to save the files within the directory will fail if you dont create it first
(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)
zip_entry_read — Read from an open directory entry
Reads from an open directory entry.
A directory entry returned by zip_read().
The number of bytes to return. If not specified, this function will attempt to read 1024 bytes.
This should be the uncompressed length you wish to read.
Returns the data read, or
FALSE if the end of the file is