Ouvre une archive ZIP

# ZipArchive::open

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

ZipArchive::open — Ouvre une archive ZIP

### Description

public function ZipArchive::open(string `$filename`, int `$flags` = 0): bool|int

Ouvre une archive ZIP nouvelle ou pré-existante pour lecture, écriture et modification.

À partir de libzip 1.6.0, un fichier vide n'est plus une archive valide.

### Liste de paramètres

`filename`
  Le nom du fichier ZIP à ouvrir.
`flags`

  Le mode à utiliser pour ouvrir l'archive.

  - `ZipArchive::OVERWRITE`
  - `ZipArchive::CREATE`
  - `ZipArchive::RDONLY`
  - `ZipArchive::EXCL`
  - `ZipArchive::CHECKCONS`

### Valeurs de retour

Retourne `true` en cas de succès, `false` ou un des codes d'erreur suivants :

`ZipArchive::ER_EXISTS`
  Le fichier existe déjà.
`ZipArchive::ER_INCONS`
  L'archive ZIP est incohérente.
`ZipArchive::ER_INVAL`
  Argument invalide.
`ZipArchive::ER_MEMORY`
  Échec de malloc.
`ZipArchive::ER_NOENT`
  Le fichier n'existe pas.
`ZipArchive::ER_NOZIP`
  N'est pas une archive ZIP.
`ZipArchive::ER_OPEN`
  Impossible d'ouvrir le fichier.
`ZipArchive::ER_READ`
  Erreur lors de la lecture.
`ZipArchive::ER_SEEK`
  Erreur de position.

### Exemples

Exemple #1 Ouverture et extraction

    <?php
    $zip = new ZipArchive;
    $res = $zip->open('test.zip');
    if ($res === TRUE) {
        echo 'ok';
        $zip->extractTo('test');
        $zip->close();
    } else {
        echo 'échec, code:' . $res;
    }
    ?>

Exemple #2 Création d'une archive

    <?php
    $zip = new ZipArchive;
    $res = $zip->open('test.zip', ZipArchive::CREATE);
    if ($res === TRUE) {
        $zip->addFromString('test.txt', 'file content goes here');
        $zip->addFile('data.txt', 'nom_de_l_entree.txt');
        $zip->close();
        echo 'ok';
    } else {
        echo 'échec';
    }
    ?>

Exemple #3 Créer une archive temporaire

    <?php
    $name = tempnam(sys_get_temp_dir(), "FOO");
    $zip = new ZipArchive;
    $res = $zip->open($name, ZipArchive::OVERWRITE); /* truncate as empty file is not valid */
    if ($res === TRUE) {
        $zip->addFile('data.txt', 'entryname.txt');
        $zip->close();
        echo 'ok';
    } else {
        echo 'failed';
    }
    ?>

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