CXL. Zip File Functions (Read Only Access)

Introdução

Este módulo lhe permite ler arquivos ZIPados e os seus conteúdos

Dependências

Este módulo usa as funções da biblioteca ZZIPlib escrita por Guido Draheim. Você precisará da biblioteca ZZIPlib na versão >= 0.10.6.

Observe que a ZZIPlib provem apenas uma biblioteca de funções para ler arquivos ZIPados. Para criar arquivos no formato ZIP será necessário um programa como o WINZIP.

Instalação

Esta estensão PECL não vem compilada com o PHP. Informações adicionais sobre novas versões, downloads, arquivos fontes, manutenções, e um Changelog, podem ser obtidos aqui: http://pecl.php.net/package/zip.

No PHP 4, os fontes desta estensão PECL podem ser encontrados no diretório ext/ ou dentro dos fontes do PHP ou no link PECL acima. Para usar as funções de manipulação de arquivo ZIP você deve compilar o PHP com suporte aos arquivos ZIP usando este comando --with-zip[=DIR]

Usuários windows precisam abilitar a seguinte dll php_zip.dll dentro do diretório em que está o arquivo php.ini para abilitar as funções de manipulação de arquivos ZIP. No PHP esta DLL reside no diretório extensions/ junto aos binários do PHP para Windows. Você pode baixar esta estensão PECL como DLL a partir da página de downloads PHP ou em http://snaps.php.net/.

Nota: O suporte as funções ZIP antes da versão 4.1.0 é experimental. Após a versão 4.1.0 ele deixa de ser expimental e passa a incrementar as funções do PHP.

Configurações em execução

Esta extensão não define nenhum parâmetro de configuração no php.ini.

Tipos Resource

Esta extensão não possui nenhum tipo resource.

Constantes pré-definidas

Esta extensão não possui nenhuma constante.

Exemplos

Este exemplo abri um arquivo zipado, lê cada arquivo que está dentro do arquivo ZIPado e mostra o conteúdo de cada um. O test2.zip é um arquivo usado neste exemplo e faz parte do arquivos contidos no pacote de distribuição da ZZIPlib.

Exemplo 1. Exemplo

<?php

$zip
= zip_open("/tmp/test2.zip");

if (
$zip) {

    while (
$zip_entry = zip_read($zip)) {
        echo
"Name:               " . zip_entry_name($zip_entry) . "\n";
        echo
"Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo
"Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo
"Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (
zip_entry_open($zip, $zip_entry, "r")) {
            echo
"File Contents:\n";
            
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo
"$buf\n";

            
zip_entry_close($zip_entry);
        }
        echo
"\n";

    }

    
zip_close($zip);

}

?>
Índice
zip_close -- Fecha um arquivo ZIP
zip_entry_close -- Fecha o arquivo que está aberto
zip_entry_compressedsize -- Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP
zip_entry_compressionmethod -- Recupera qual o método de compressão foi utilizado no arquivo
zip_entry_filesize -- Retorna o tamanho do arquivo
zip_entry_name -- Retorna o nome do arquivo
zip_entry_open -- Abre um arquivo do arquivo ZIP
zip_entry_read -- Le de um arquivo aberto
zip_open -- Abre um arquivo ZIPado
zip_read -- Lê o próximo elemento ques está dentro de um arquivo ZIPado