Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
FZip
FZip

Compacta uma lista de arquivos no formato Zip.

...

Bloco de código
collapsefalse
FZip( < cArquivoZipcZipFile >, < aArquivosaFiles >, [ cBaseDir ], [ cSenha cPassword ], [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cArquivoZip

cZipFile

caractere

character

Indica o nome do arquivo final compactado

zip

.

X

 


aFiles

aArquivos

vetor

array

Lista de arquivos que serão compactados.

X

 


cBaseDir

caractere

character

Indica o diretório base para não incluir dentro do arquivo compactado.

 

 

cSenha



cPassword

character

caractere

Informar uma senha para gerar um arquivo compactado criptografado.



lChangeCase

 

logical

Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão: .T.. Veja maiores informações em Observações.

 



Retorno

Nome

Tipo

Descrição

nRet

numériconumeric

Retorna 0 (zero) se conseguir compactar ou diferente de 0 (zero) em caso de erro.

Observações

  • Lista de arquivos O caminho dos arquivos apontados em aFiles pode ser tanto a partir do Rootpath como quanto um caminho completo para ser executado no cliente.
  • A entrada cBaseDir serve para não incluir a pasta informada no baseDir dentro do zip, por exemplo vc tem uma . Por exemplo, a lista de arquivos contém "tocompress\arq1.txt", "tocompress\arq2.txt" e não se deseja que o arquivo zip contenha a pasta "tocompress", apenas os arquivos, portanto cBaseDir deve ser informado como "tocompress\".
  • Os caminhos apontados em aFiles e cBaseDir devem ter a mesma origem do caminho apontado em cZipFile, ou seja, caso o caminho apontado em cZipFile seja no servidor, os caminhos apontados em aFiles e cBaseDir também devem ser; o mesmo se aplica caso cZipFile aponte para um caminho no cliente.
  • Caso haja diferença na origem dos arquivos apontados nos parâmetros, será apresentada no console do
    Inclusão de trecho
    Application Server
    Application Server
    nopaneltrue
     a mensagem "
  • Função disponível apenas para builds superiores a 7.00.131227

Exemplos

  • tFzip: Error, all paths must be on the same side (server/client)" e o retorno da função será -1.
  • Caso não seja informado o parâmetro cBaseDir, o valor utilizado será o caminho do RootDir convertido para minúsculo.
  • Os caminhos apontados em cZipFile, aFiles e cBaseDir não são convertidos para minúsculo, sendo tratados da forma como são escritos. Dessa forma, em Windows não existe impacto no acesso aos arquivos e pastas, mas em Linux, devido ao sistema operacional diferenciar caminhos em maiúsculo e minúsculo, pode não conseguir acessar o caminho, devendo ser escrito com o Case Sensitive correto.
  • O parâmetro opcional lChangeCase foi introduzido a partir da versão 24.3.0.0 do
    Inclusão de trecho
    Application Server
    Application Server
    nopaneltrue
     pois em sistemas LINUX/UNIX, existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre comportamento de Case Sensitive definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE. Porem, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
Aviso
icontrue
titleAviso

A função FZIP tem um limite de trabalho com arquivos de até 4GB (4.294.967.296 bytes).

Nota
icontrue
titleAtenção

A partir da versão 24.3.0.0 do

Inclusão de trecho
Application Server
Application Server
nopaneltrue
 a função por padrão irá converter os caminhos informados em cZipFile, aFiles e cBaseDir para minúsculo, mantendo o comportamento existente em todas as funções que tratam arquivos. Em versões anteriores, os caminhos informados não são alterados.

Exemplos

Bloco de código
languagecpp
themeEclipse
Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
Useruser Functionfunction exemplo ()
 
 Local filesaFiles := { "\testing\gps.bmptxt", "\testing\receita.bmptxt" }
  Local nRet := 0
  nret
  nRet := FZip( "\imagens.zip",files aFiles )
  if nRet nret!= 0
    conout( "Não foi possível criar o arquivo zip" )
  else
    conout( "Arquivo zip criado com sucesso" )
  endif
  
  nretnRet := FZip( "\testing\imgs.zip",files aFiles, "\testing\", "123456" )
  if nretnRet != 0
    conout( "Não foi possível criar o arquivo zip" )
  else
    conout( "Arquivo zip criado com sucesso" )
  endif
 return
Return

Abrangência

Versões do binário superiores à 7.00.131227AFunção disponível apenas para versões iguais ou superiores a 13.2.3.17 do

Inclusão de trecho
Application Server
Application Server
nopaneltrue
.

Veja também