downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ZipArchive::open> <ZipArchive::getStream
[edit] Last updated: Fri, 23 Mar 2012

view this page in

ZipArchive::locateName

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

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

Opis

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

Locates an entry using its name.

Parametry

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

Zwracane wartości

Returns the index of the entry on success lub FALSE w przypadku niepowodzenia.

Przykłady

Przykład #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();

?>

Powyższy przykład wyświetli:

0

1
2


add a note add a note User Contributed Notes ZipArchive::locateName
me at nowhere dot com 03-Sep-2008 01:04
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

 
show source | credits | stats | sitemap | contact | advertising | mirror sites