ZipArchive::locateName
(No version information available, might be only in CVS)
ZipArchive::locateName — Returns the index of the entry in the archive
Описание
Locates an entry using its name.
Список параметров
- name
-
The name of the entry to look up
- flags
-
The function returns the index of the file named fname in archive. 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 or FALSE on failure.
Примеры
Пример #1 Create an archive and then use it with 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();
?>
Коментарии
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