• Publicidad

Comprimir archivos en Perl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Comprimir archivos en Perl

Notapor chechoman » 2008-07-14 16:56 @747

Hola de nuevo, estoy haciendo un programa que me genera un archivo y como este finalmente pesa mucho necesito comprimirlo y que quede en formato zip, he utilizado la librería Archive::Zip, y el programa me crea el archivo .zip pero no está agregando el archivo que necesito que comprima, es decir, al final me crea un archivo zip ¡¡pero vacío!! :( , aquí adjunto el código que he escrito para que vean que es lo que está mal:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $resultadoZip = "/home/principal/lector/$fechaFile.zip";

#Nuevo objeto Archive::Zip
my $zipTotal = Archive::Zip->new();

my $archivoComprimir = $zipTotal->addFile($nombreArchivo);

   $zipTotal->writeToFileNamed($resultadoZip);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


La variable $nombreArchivo qué es la que me da el nombre de mi archivo a comprimir, también le puse un nombre real y tampoco funcionó.
chechoman
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2008-07-02 11:14 @510

Publicidad

Notapor explorer » 2008-07-14 18:36 @816

Según la documentación, no debes darle a addFile() un camino absoluto al fichero a comprimir. Prueba a colocarte en el mismo directorio donde está el fichero $nombreArchivo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor chechoman » 2008-07-15 08:06 @379

Sí, efectivamente, fue otro error de novato en Perl, jajaja. Lo que hice fue hacer un cambio de directorio en la línea antes de comenzar a crear el zip y listo, se resolvió. Antes, cuando se ejecutaba la rutina no conseguía el archivo que le estaba mandando a comprimir.
chechoman
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2008-07-02 11:14 @510

Notapor explorer » 2008-07-15 08:25 @392

Recuerda que addFile() puede admitir dos argumentos: el nombre (con todo el path) del fichero a comprimir, y el nombre como deseamos que quede comprimido.

Quizás no hubiera sido necesario hacer el movimiento de directorios...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado