ZipArchive::open

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

ZipArchive::openAbrir un fichero de archivo en formato ZIP

Descripción

publicZipArchive::open(string$filename, int$flags = 0): bool|int

Abre un archivo zip nuevo o existente para leer, escribir o modificar.

Desde libzip 1.6.0, un archivo vacío ya no es un archivo válido.

Parámetros

filename

El nombre del fichero del archivo ZIP para ser abierto.

flags

El modo a utilizar para abrir el archivo.

Valores devueltos

Devuelve true en caso de éxito, false o uno de los siguientes códigos de error en caso de error:

ZipArchive::ER_EXISTS
El fichero ya existe.
ZipArchive::ER_INCONS
Archivo zip inconsistente.
ZipArchive::ER_INVAL
Argumento no válido.
ZipArchive::ER_MEMORY
Falló malloc.
ZipArchive::ER_NOENT
No existe el fichero.
ZipArchive::ER_NOZIP
No es un archivo zip.
ZipArchive::ER_OPEN
No se puede abrir el fichero.
ZipArchive::ER_READ
Error de lectura.
ZipArchive::ER_SEEK
Error de búsqueda.

Ejemplos

Ejemplo #1 Abrir y extraer

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

Ejemplo #2 Crear un fichero

<?php
$zip
= new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if (
$res === TRUE) {
$zip->addFromString('test.txt', 'el contenido del fichero va aquí');
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo
'ok';
} else {
echo
'falló';
}
?>

Ejemplo #3 Crear un fichero temporal

<?php
$name
= tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE);
if ($res === TRUE) {
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo
'ok';
} else {
echo
'failed';
}
?>
To Top