ZipArchive::locateName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::locateNameВозвращает индекс элемента в архиве

Описание

int ZipArchive::locateName ( string $name [, int $flags ] )

Находит элемент по его имени.

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

name

Имя элемента для поиска.

flags

Флаги определяемые битовой маской из следующих значений, либо 0 для ни одного из них.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

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

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

Примеры

Пример #1 Создается архив и затем используется метод ZipArchive::locateName()

<?php
$file 
'testlocate.zip';

$zip = new ZipArchive;
if (
$zip->open($fileZipArchive::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

Коментарии

If the option ZIPARCHIVE::FL_NODIR is used, the result may be ambiguous as files with the same name may occur in various directories. In this case, the first occurence in the index whoose name matches is returned.
E.g.

<?php
$zip
->addFromString('afile.txt''index 0');
$zip->addFromString('double.txt''index 1');
$zip->addFromString('dir/double.txt''index 2');
?>

$zip->locateName('double.txt',ZIPARCHIVE::FL_NODIR) returns 1
2008-09-03 04:04:32
http://php5.kiev.ua/manual/ru/ziparchive.locatename.html
Автор:
As this is not directly available from this page, here's the meaning of the two flags:

ZIPARCHIVE::FL_NOCASE
    Ignore case on name lookup
   
ZIPARCHIVE::FL_NODIR
    Ignore directory component
   
All defined constants can be found here : zip.constants
2012-09-25 11:22:42
http://php5.kiev.ua/manual/ru/ziparchive.locatename.html

    Поддержать сайт на родительском проекте КГБ