zip_read

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

zip_readLiest den nächsten Eintrag innerhalb des ZIP Archivs

Beschreibung

zip_read ( resource $zip ) : resource

Liest den nächsten Eintrag innerhalb des ZIP Archivs.

Parameter-Liste

zip

Eine ZIP-Datei, die zuvor mittels zip_open() geöffnet wurde.

Rückgabewerte

Gibt im Erfolgsfall einen Verzeichniseintrag zur späteren Benutzung mit den zip_entry_... Funktionen zurück. Wenn keine weiteren Einträge vorhanden sind, wird FALSE zurückgegeben. Tritt ein Fehler auf, ist der Rückgabewert die entsprechende Fehlernummer.

Changelog

Version Beschreibung
8.0.0 Diese Funktion ist zugunsten der Objekt-API missbilligt; siehe ZipArchive::statIndex().

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
3
Christian
7 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.
up
1
Anonymous
1 year ago
*Here is a simple example*
<?php
$zp
= zip_open('file.zip');

while (
$file = zip_read($zp)) {
    echo 
zip_entry_name($file).PHP_EOL;
}
?>

The output will be something similar to:

myfile.txt
mydir/
up
-16
nico at nicoswd dot com
13 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.

<?php

// 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