Comprimir y descomprimir archivos ZIP con ZipArchive de PHP
En algunas aplicaciones de programación avanzada nos vemos en la necesidad de tener que empaquetar archivos para su descargar y desempaquetarlos para su instalación o visualización.
Comprimir y descomprmir archivos .zip con PHP es más fácil de lo que parece. Con muy pocas lineas de código puedes conseguir hacerlo. PHP dispone de una clase que te va ahorrar mucho código.
Con PHP se puede comprimir y descomprimir archivos de varias formas. En este artículo vamos a ver como hacerlo utilizando la librería ZipArchive de PHP.
Antes de poder utilizar esta libería es necesario checkear la información de nuestro servidor para ver si la extensión ZIP está habilitada.
Si lo tenemos habilitado podremos comprimir archivos de la siguiente forma:
open($filename, ZIPARCHIVE::CREATE)) {
$zip->addFile('file1.txt');
$zip->addFile('file2.txt');
$zip->close();
echo 'Se ha creado correctamente '.$filename;
}
else {
echo 'Error creando '.$filename;
}
?>
Y descomprimir de la siguiente:
open('test.zip')) {
$zip->extractTo('extract/');
$zip->close();
echo 'El archivo ha sido descomprimido correctamente';
} else {
echo 'Error al descomprimir';
}
?>
En este caso estamos descomprimiendo el contenido de test.zip en una carpeta llama «extract» que tenemos preparada para la recepción.
Hay alguna fofma de descargar la descompresion, descargar todos los archivos del zip en vez de descomprimir en el servidor?
Para la descargar del contenido del zip, con que pongas un enlace ya sería suficiente, no?
// Definir clase en $zip.
$zip = new ZipArchive;
Hola buenas tardes, en el ejemplo que muestras para descomprimir un archivo veo que lo hace en el servidor , existe alguna forma de guardarlo y extraerlo en la compu del cliente ?, esto por ejemplo para enviarle facturas recibos etc. muchas gracias por tu atencion.
Grandes borne! Agicedarmentos para tomar u treasure delaware escrever algo cual é realmente leitura accomplish valor. Demasiado frequentemente western european encontro a informação inútil electronic não some sort of algo cual é realmente relevante. Agradecimentos para seu trabalho duro.