[Cascavel-pm] Zipando arquivos no servidor.

stevenkoch em abtleletrica.com.br stevenkoch em abteletrica.com.br
Segunda Outubro 18 15:33:59 CDT 2004


Segue mais uns exemplos enquanto não vou embora...heheh

  #Adiciona o conteudo do diretorio
   my $member = $zip->addTree("C:\\eday");

    #Adiciona ou melhor cria um arquivo de texto com o teto abaixo
   $member = $zip->addString( 'Ola Mundo!', 'textooo.txt' );

   $member->desiredCompressionMethod( COMPRESSION_DEFLATED );
   $member = $zip->addFile( 'teste.cgi', 'google.pl' );
   die 'write error' unless $zip->writeToFileNamed( 'Meuarquivo.zip' ) ==
AZ_OK;


Ate



----- Original Message ----- 
From: "stevenkoch em abtleletrica.com.br" <stevenkoch em abteletrica.com.br>
To: "Cascavel Perl Mongers" <cascavel-pm em mail.pm.org>
Sent: Monday, October 18, 2004 6:21 PM
Subject: Re: [Cascavel-pm] Zipando arquivos no servidor.


Blz... ate aqui nos encontramos...
Bom este modulo eh bem interessante...
Fiz um pequeno script para demostra-lo, assim fica mais facil visualizar
como ele funciona....

Este modulo vc pode criar diretorios e abrilos e colocar arquivos dentro
dele.

este script so comprime dois arquivos: teste.cgi e google.pl que estão no
diretorio onde ta gravado o script zipando.pl
#---------------------------------------------------------------
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );

   my $zip = Archive::Zip->new();

   $zip->addFile( 'teste.cgi' );
   $zip->addFile( 'google.pl');
   die 'write error' unless $zip->writeToFileNamed( 'MeuArquivoZipado.zip' )
== AZ_OK;
#----------------------------------------------------------------

O modulo eh bem facil de usar e em pouco tempo eh possivel fazer bons
scripts de backup com ele.


Espero ter contribuido!
Um abraço a todos. Steven Koch


----- Original Message ----- 
From: "Alceu R. de Freitas Jr." <glasswalk3r em yahoo.com.br>
To: "Cascavel Perl Mongers" <cascavel-pm em mail.pm.org>
Sent: Monday, October 18, 2004 6:15 PM
Subject: Re: [Cascavel-pm] Zipando arquivos no servidor.


--- João Gabriel <jamorreu em gmail.com> escreveu:
> Me passaram esse código para zipar arquivos no
> servidor:
>
> TAR:
> tar -cvzf nome.tar.gz pastas arquivos etc
>
> ZIP:
> zip -r nome.zip arquivos pastas etc
>
> Logo, usei o comando system para executados, e fiz o
> seguinte teste:
>
> Para zipar como tar usei:
> (vai zipar a pasta fórum e esse arquivo tera o nome
> de teste.tar.gz)
> >>> system("tar -cvzf teste.tar.gz forum")
>
> Para zipar como zip usei:
> (vai zipar a pasta fórum e esse arquivo tera o nome
> de teste.zip)
> >>> system("tar -cvzf teste.zip forum")
>
> Porém nenhum dos códigos funcionaram e a página não
> deu erro.
> Alguém sabe o porque do código não ter funcionado?

Gabriel,

Procure usar módulos Perl para fazer essas tarefas.
Com certeza você vai encontrar um módulo para
trabalhar com tar e gzip (prefira o gzip ao invés do
zip). Isso evita que vc faz system calls através do
Perl, o que é de longe mais seguro em termos de CGI.
Leia "perldoc perlsec" para maiores detalhes.

Você pode testar a saída de comandos através de system
usando:

system("echo hello world") && die "Ocorreu um erro:
$!";

Isso lhe trará o erro. Como vc está usando um cgi, use
o módulo CGI::Carp para redirecionar mensagens da
função die para o log do servidor web.

[]´s
Alceu









_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com/
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em mail.pm.org
http://cascavel.pm.org/mailman/listinfo/cascavel-pm



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.778 / Virus Database: 525 - Release Date: 15/10/2004


_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em mail.pm.org
http://cascavel.pm.org/mailman/listinfo/cascavel-pm




Mais detalhes sobre a lista de discussão Cascavel-pm