PHP – Extrair arquivos .ZIP

<?php
/**
 * Executar este arquivo equivale a clicar com o botão direito do mouse >> extrair
 * aqui em TODOS os .ZIP do diretório em que se encontra este script 😉
 */

// Obtém o diretório atual
$zip_dir = dirname(__FILE__);

// Procura arquivos .zip
echo 'Procurando arquivos .zip'.'<br />';
$arquivos = (array)glob("{*zip}", GLOB_BRACE);

// Sai extraindo tudo que tem pra extrair
foreach ($arquivos as $arquivo )
{
    echo 'Encontrado arquivo '.$arquivo . '<br />';
    $zip = new ZipArchive();
    if ( $zip->open($arquivo) )
    {
        echo 'Lendo arquivo '.$arquivo . '<br />';
        echo "Descompactando para $zip_dir" . '<br />';
        $zip->extractTo($zip_dir);
        $zip->close();
    }
    else
    {
        echo 'Não foi possível abrir o arquivo '.$arquivo.'.'.'<br />';
    }
}
?>
Anúncios

6 comentários em “PHP – Extrair arquivos .ZIP

  1. Jair Deon disse:

    Ótimo codigo. Ajudou bastente.

  2. SLuyz disse:

    Como extrair ignorando as pasta, tipo o arquivo zip foi compatado pela pasta e não pelos seus arquivos, para extrair com php queria que ele extraisse so os arquivos ignorando as pastas, tem jeito?

  3. Sandro disse:

    Fatal error: Class ‘ZipArchive’ not found in C:\Program Files (x86)\VertrigoServ\www\CMS_v3.5\_MAIN\descompacta.php on line 18

    no meu gerou esse erro porque?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s