ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getFromIndexGibt den Inhalt eines Eintrags unter Verwendung seines Index zurück

Beschreibung

public ZipArchive::getFromIndex(int $index, int $len = 0, int $flags = 0): string|false

Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück.

Parameter-Liste

index

Index des Eintrags

len

Die von dem Eintrag zu lesende Länge. Falls 0, wird der gesamte Eintrag gelesen.

flags

Die Flags, die beim Öffnen des Archivs verwendet werden können. Die folgenden Werte können darauf angewendet werden (ODER verknüpft):

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Rückgabewerte

Gibt im Erfolgsfall den Inhalt des Eintrags zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

Beispiel #1 Den Dateiinhalt auslesen

<?php
$zip
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
echo
$zip->getFromIndex(2);
$zip->close();
} else {
echo
'Fehler';
}
?>

Siehe auch

add a note add a note

User Contributed Notes 5 notes

up
3
Ruben
9 years ago
For detecting folders use function ::getNameIndex:

//$zip = ZipArchive::open()
$entry = $zip->getNameIndex($i);
$isDir = (substr($entry, -1, 1) == '/');

Thanks to Alex Howansky @ http://stackoverflow.com/a/19299626/2747584
up
1
StanE
9 years ago
Unlike what "jana.vasseru" said 7 years ago, this method does not return FALSE for folders (anymore?). It seems that there is no way to find out if an entry is a directory of file.
up
0
poorpal at example dot com
9 years ago
both getFromIndex and getFromName leak memory. Beware specially if you use them inside a long running loop. Even closing and re-opening the zip file doesn't help.
up
0
matt3k
11 years ago
Note, length is in characters and not bytes.
up
-4
jana.vasseru
17 years ago
Note that getFromIndex returns false for directories.
To Top