Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
FZip( < cZipFile >, < aFiles >, [ cBaseDir ], [ cPassword ], [ lChangeCase ] )
|
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. | ||
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 | 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
aInclusão de trecho Application Server Application Server
a mensagem "tFzip: Error, all paths must be on the same side (server/client)" e o retorno da função será -1.nopanel true - 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.
- 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.O parâmetro opcional lChangeCase foi introduzido a partir da versão 24.3.0.0 do
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.Inclusão de trecho Application Server Application Server nopanel true
Aviso | ||||
---|---|---|---|---|
| ||||
A função FZIP tem um limite de trabalho com arquivos de até 4GB (4.294.967.296 bytes). |
Nota | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
A partir da versão 24.3.0.0 do
|
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
user function exemplo() filesLocal aFiles := { "\testing\gps.bmptxt", "\testing\receita.bmptxt" } Local nRet := 0 nret nRet := FZip( "\imagens.zip", filesaFiles ) if nretnRet != 0 conout( "Não foi possível criar o arquivo zip" ) else conout( "Arquivo zip criado com sucesso" ) endif nretnRet := FZip( "\testing\imgs.zip", filesaFiles, "\testing\", "123456" ) if nretnRet != 0 conout( "Não foi possível criar o arquivo zip" ) else conout( "Arquivo zip criado com sucesso" ) endif return |
Abrangência
Função disponível apenas para versões iguais ou superiores a 13.2.3.17 do
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|