ZipArchive::locateName
(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)
ZipArchive::locateName — アーカイブ内のエントリのインデックスを返す
説明
public ZipArchive::locateName
( string $name
[, int $flags
] ) : int|false
名前を使用して、エントリの場所を取得します。
パラメータ
name
- 探したいエントリの名前。
flags
- この関数は、アーカイブ内の指定した名前のファイルのインデックスを返します。 フラグには、次の値を OR で連結して指定します。 あるいは何もしていしない場合は 0 とします。
ZipArchive::FL_NOCASE
ZipArchive::FL_NODIR
返り値
成功した場合にエントリのインデックス、失敗した場合に false
を返します。
例
例1 アーカイブを作成し、ZipArchive::locateName() を使用する
<?php$file = 'testlocate.zip';$zip = new ZipArchive;if ($zip->open($file, ZipArchive::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