Árvore de páginas

Compacta uma lista de arquivos no formato Zip.

Sintaxe

FZip( < cZipFile >, < aFiles >, [ cBaseDir ], [ cPassword ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cZipFile

character

Indica o nome do arquivo final compactado.

X


aFiles

array

Lista de arquivos que serão compactados.

X


cBaseDir

character

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



cPassword

character

Informar uma senha para gerar um arquivo compactado criptografado.



Retorno

Nome

Tipo

Descrição

nRet

numeric

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

Observações

  • O caminho dos arquivos apontados em aFiles pode ser tanto a partir do Rootpath 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, 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 Application Server a mensagem "tFzip: Error, all paths must be on the same side (server/client)" e o retorno da função será -1.
  • 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.
  • Caso não seja informado o parâmetro cBaseDir, o valor utilizado será o caminho do RootDir convertido para minúsculo.
  • Função disponível apenas para versões iguais ou superiores a 13.2.3.17.

Aviso

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

Exemplos

user function exemplo()
  files := { "\testing\gps.bmp", "\testing\receita.bmp" }
  
  nret := FZip( "\imagens.zip", files )
  if nret != 0
    conout( "Não foi possível criar o arquivo zip" )
  else
    conout( "Arquivo zip criado com sucesso" )
  endif
  
  nret := FZip( "\testing\imgs.zip", files, "\testing\", "123456" )
  if nret != 0
    conout( "Não foi possível criar o arquivo zip" )
  else
    conout( "Arquivo zip criado com sucesso" )
  endif
return

Veja também

  • Sem rótulos