ZipArchive::getFromIndex

(Информация о версии неизвестна, возможно, только в SVN)

ZipArchive::getFromIndexВозвращает содержимое элемента по его индексу

Описание

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

Возвращает содержимое элемента по его индексу.

Список параметров

index

Индекс элемента.

length

Размер читаемых данных из элемента. Если 0, содержимое читается полностью.

flags

Флаги используемые для открытия архива. Может быть установлено только одно нижеприведенное значение.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Возвращаемые значения

Возвращает содержимое элемента при успехе или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Получить содержимое файла

<?php
$zip 
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
    echo 
$zip->getFromIndex(2);
    
$zip->close();
} else {
    echo 
'ошибка';
}
?>

Смотрите также

add a note add a note

User Contributed Notes 5 notes

up
2
matt3k
2 years ago
Note, length is in characters and not bytes.
up
1
StanE
7 months 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
Ruben
2 months 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
0
poorpal at example dot com
4 months 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
jana.vasseru
7 years ago
Note that getFromIndex returns false for directories.
To Top