ZipArchive::locateName

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

ZipArchive::locateNameReturns the index of the entry in the archive

Описание

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

Locates an entry using its name.

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

name

The name of the entry to look up

flags

The flags are specified by ORing the following values, or 0 for none of them.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

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

Returns the index of the entry on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create an archive and then use it with 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 11:04:32
http://php5.kiev.ua/manual/ru/function.ziparchive-locatename.html

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