PHP8 ZipArchive::locateName
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)
ZipArchive::locateName — Returns the index of the entry in the archive
说明
public ZipArchive::locateName(string $name, int $flags = 0): int|false
使用条目的名称查找条目。
参数
name
要查找的条目的名称
flags
这些标志是通过以下值 OR 来指定的: 或 0 表示它们都不是。
ZipArchive::FL_NOCASE
ZipArchive::FL_NODIR
返回值
返回 success 条目的索引 或者在失败时返回 false.
示例
示例 #1 创建一个存档,然后将其与 ZipArchive::locateName() 一起使用
<?php
$file = 'testlocate.zip';
$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
exit('failed');
}
$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');
if ($zip->status !== ZipArchive::ER_OK) {
echo "failed to write zip\n";
}
$zip->close();
if ($zip->open($file) !== TRUE) {
exit('failed');
}
echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZipArchive::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZipArchive::FL_NOCASE|ZipArchive::FL_NODIR) . "\n";
$zip->close();
?>
以上示例会输出:
0 1 2