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

# ZipArchive::locateName

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

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

### 説明

public function ZipArchive::locateName(string `$name`, int `$flags` = 0): 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open