Archive

Librería para comprimir y extraer archivos.

Dependiendo de las extensiones instaladas en PHP, es posible gestionar las siguientes extensiones:

Extensión Comprimir Extraer
Zip .zip .zip
Rar - .rar
Phar .tar .tar
Phar+zlib .tar.gz .gz, .gzip, .tgz, .tgzip
Phar+bz2 .tar.bz2 .bz, .bzip, .bzip2, .bz2, .tbz, .tbzip, .tbz2, .tbzip2

 

Crear una instancia Archive

Para comprimir y extraer archivos, es necesario crear una instancia Archive.

$archive = new Archive();

Opcionalmente, puede pasar como parámetro una cadena con la ruta base, de lo contrario, la ruta base será: SYSTEM_ABSPATH.

 

Extraer un archivo

Un archivo se extrae de la siguiente manera:

$archive->extract($zipfile, $dirpath, true);
zipfile

La ruta al archivo a extraer.

dirpath

La ruta a la carpeta donde se colocará lo extraído (opcional).

delete

Elimina el archivo extraido (opcional).

 

Tenga en cuenta la ruta base declarada al crear una instancia. Por ejemplo, si queremos descomprimir un archivo en la misma carpeta en la que se encuentra, podemos escribir:

$archive = new Archive('path/to/dir/');
$archive->extract('filename_to_extrac');

 

Comprimir archivos

Un archivo se comprime de la siguiente manera:

$archive->compress($zipfile, $dirpath, $nodes);
zipfile

La ruta al archivo comprimido a crear.

dirpath

La ruta a la carpeta que se usará como base desde donde se comenzará a comprimir. Esta carpeta no será incluída en el archivo comprimido.

nodes

Un arreglo con los nodos a incluir. Si no se completa, se incluirá todo.

 

Extensiones aceptadas

Para conocer, en tiempo de ejecución, las extensiones aceptadas, están los métodos:

$archive->acceptsToExtract();
$archive->acceptsToCompress();