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 |
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.
Un archivo se extrae de la siguiente manera:
$archive->extract($zipfile, $dirpath, true);
La ruta al archivo a extraer.
La ruta a la carpeta donde se colocará lo extraído (opcional).
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');
Un archivo se comprime de la siguiente manera:
$archive->compress($zipfile, $dirpath, $nodes);
La ruta al archivo comprimido a crear.
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.
Un arreglo con los nodos a incluir. Si no se completa, se incluirá todo.
Para conocer, en tiempo de ejecución, las extensiones aceptadas, están los métodos:
$archive->acceptsToExtract();
$archive->acceptsToCompress();