ZipArchive::getFromIndex

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

ZipArchive::getFromIndexReturns the entry contents using its index

Description

string ZipArchive::getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )

Returns the entry contents using its index.

Parameters

index

Index of the entry

length

The length to be read from the entry. If 0, then the entire entry is read.

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Return Values

Returns the contents of the entry on success or FALSE on failure.

Examples

Example #1 Get the file contents

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

See Also

Коментарии

Автор:
Note that getFromIndex returns false for directories.
2007-08-17 07:26:40
http://php5.kiev.ua/manual/ru/ziparchive.getfromindex.html
Автор:
Note, length is in characters and not bytes.
2013-06-26 04:21:51
http://php5.kiev.ua/manual/ru/ziparchive.getfromindex.html
Автор:
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.
2014-12-17 04:35:11
http://php5.kiev.ua/manual/ru/ziparchive.getfromindex.html
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.
2015-03-17 00:03:34
http://php5.kiev.ua/manual/ru/ziparchive.getfromindex.html
Автор:
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
2015-05-12 10:59:27
http://php5.kiev.ua/manual/ru/ziparchive.getfromindex.html

    Поддержать сайт на родительском проекте КГБ