PHP Conference Nagoya 2025

ZipArchive::getFromIndex

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

ZipArchive::getFromIndexRetorna o conteúdo da entrada usando seu índice

Descrição

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

Retorna o conteúdo da entrada usando seu índice.

Parâmetros

index

Índice da entrada

len

O comprimento a ser lido da entrada. Se 0, então a entrada inteira é lida.

flags

As opções a serem usadas para abrir o arquivo. Os seguintes valores podem ser ORed a ele.

Valor Retornado

Retorna o conteúdo da entrada em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Obter o conteúdo do arquivo

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

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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
-1
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