ZipArchive::locateName

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

ZipArchive::locateNameİsmi belirtilen girdinin indisini döndürür

Açıklama

public ZipArchive::locateName(string $isim, int $seçenekler = 0): int|false

İsmi belirtilen girdinin indisini döndürür.

Bağımsız Değişkenler

isim

Girdinin ismi.

seçenekler

İsmin nasıl aranacağı aşağıdaki sabitlerden oluşan bir bit maskesi olarak belirtilir. Hiçbiri belirtilmeyecekse 0 belirtilir.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdinin indisi döner.

Örnekler

Örnek 1 - Bir arşiv oluşturup üzerinde ZipArchive::locateName() kullanmak

<?php
$file
= 'testlocate.zip';

$zip = new ZipArchive;
if (
$zip->open($file, ZipArchive::CREATE) !== TRUE) {
exit(
'failed');
}

$zip->addFromString('entry1.txt', 'girdi #1');
$zip->addFromString('entry2.txt', 'girdi #2');
$zip->addFromString('dir/entry2d.txt', 'girdi #2');

if (!
$zip->status == ZipArchive::ER_OK) {
echo
"ZIP yazılamadı\n";
}
$zip->close();

if (
$zip->open($file) !== TRUE) {
exit(
'Olmadı');
}

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

?>

Yukarıdaki örneğin çıktısı:

0

1
2
add a note add a note

User Contributed Notes 2 notes

up
9
thedotwriter
12 years ago
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 : http://php.net/manual/en/zip.constants.php
up
3
me at nowhere dot com
16 years ago
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
To Top