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
Last updated: Fri, 13 Nov 2009

view this page in

ZipArchive::locateName

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

ZipArchive::locateNameアーカイブ内のエントリのインデックスを返す

説明

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

名前を使用して、エントリの場所を取得します。

パラメータ

name

探したいエントリの名前。

flags

この関数は、アーカイブ内の指定した名前のファイルのインデックスを返します。 フラグには、次の値を OR で連結して指定します。 あるいは何もしていしない場合は 0 とします。

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

返り値

成功した場合にエントリのインデックス、失敗した場合に FALSE を返します。

例1 アーカイブを作成し、ZipArchive::locateName() を使用する

<?php
$file 
'testlocate.zip';

$zip = new ZipArchive;
if (
$zip->open($fileZIPARCHIVE::CREATE) !== TRUE) {
    exit(
'失敗');
}

$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 
"zip の書き込みに失敗\n";
}
$zip->close();

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

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


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

ZipArchive::open> <ZipArchive::getStream
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites