php8.5
Home/ Manual/ zip / ziparchive/ ZipArchive::locateName

ZipArchive::locateName

PHP function Edit on GitHub ✎

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

Returns the index of the entry in the archive

Description

ZipArchive::locateName(string $name, int $flags = 0): int|false

Locates an entry using its name.

Parameters

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

Return Values

Returns the index of the entry on successFalseforfailure.

Examples

Create an archive and then use it with ZipArchive::locateName()

php
<?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();

?>

The above example will output:

output
0

1
2

Source: reference/zip/ziparchive/locatename.xml · from the official PHP manual (php/doc-en)