array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'ziparchive.open.php', 1 => 'ZipArchive::open', ), 'up' => array ( 0 => 'class.ziparchive.php', 1 => 'ZipArchive', ), 'prev' => array ( 0 => 'ziparchive.locatename.php', 1 => 'ZipArchive::locateName', ), 'next' => array ( 0 => 'ziparchive.registercancelcallback.php', 1 => 'ZipArchive::registerCancelCallback', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/zip/ziparchive/open.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::open — Ouvre une archive ZIP
Ouvre une archive nouvelle ou pré-existente ZIP pour lecture, écriture et modification.
À partir de libzip 1.6.0, un fichier vide n'est plus une archive valide.
filename
Le nom du fichier ZIP à ouvrir.
flags
Le mode à utiliser pour ouvrir l'archive.
Retourne true
en cas de succès ou un des code d'erreur suivant :
ZipArchive::ER_EXISTS
ZipArchive::ER_INCONS
ZipArchive::ER_INVAL
ZipArchive::ER_MEMORY
ZipArchive::ER_NOENT
ZipArchive::ER_NOZIP
ZipArchive::ER_OPEN
ZipArchive::ER_READ
ZipArchive::ER_SEEK
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';
}
?>