ZipArchive::getFromIndex

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

ZipArchive::getFromIndex使用索引返回条目内容

描述

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

使用索引返回条目内容。

参数

index

条目的索引

len

要从条目中读取的长度。如果为 0,则读取整个条目。

flags

用于打开归档的标志。以下值可以与它进行 OR 运算。

返回值

成功时返回条目的内容,失败时返回 false

示例

示例 #1 获取文件内容

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

参见

添加注释

用户贡献的注释 5 notes

3
Ruben
9 年前
要检测文件夹,请使用函数 ::getNameIndex

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

感谢 Alex Howansky @ http://stackoverflow.com/a/19299626/2747584
1
StanE
9 年前
与 7 年前 "jana.vasseru" 所说不同,此方法不再返回文件夹的 FALSE(了吗?)。似乎没有办法找出条目是目录还是文件。
0
poorpal at example dot com
9 年前
getFromIndex 和 getFromName 都会造成内存泄漏。特别是如果您在长时间运行的循环中使用它们,请注意。即使关闭并重新打开 zip 文件也无济于事。
-1
matt3k
11 年前
注意,长度以字符为单位,而不是字节。
-4
jana.vasseru
16 年前
注意 getFromIndex 对目录返回 false。
To Top