CakeFest 2024: The Official CakePHP Conference

ZipArchive::getFromIndex

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

ZipArchive::getFromIndexDevuelve el contenido de la entrada usando su índice

Descripción

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

Devuelve el contenido de la entrada usando su índice.

Parámetros

index

El índice de la entrada

len

La longitud que se see desde la entrada. Si es 0, entonces toda la entrada se lee.

flags

Las flags usadas para abrir el fichero. Los siguientes valores pueden ser Ored.

Valores devueltos

Devuelve el contenido de la entrada si se ejecutó con éxito o false en caso de error.

Ejemplos

Ejemplo #1 Obtener el contenido del fichero

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

Ver también

add a note

User Contributed Notes 5 notes

up
3
Ruben
8 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
10 years ago
Note, length is in characters and not bytes.
up
-4
jana.vasseru
16 years ago
Note that getFromIndex returns false for directories.
To Top