descompactar arquivo gz com php

330 views
Skip to first unread message

victorcg

unread,
May 7, 2009, 12:40:04 PM5/7/09
to LISTA PHP
Alguem sabe alguma função (ZLIB) em que eu consiga descompactar
arquivos gz, com o PHP.

O que eu achei é descompactar string e não arquivos. ex:
GeoLiteCity.dat.gz

Obrigado!

Marcus Brasizza

unread,
May 7, 2009, 12:47:47 PM5/7/09
to list...@googlegroups.com
$zip = new ZipArchive();
        $zip->open($diretorio.'/'.$nome_arq.'.'.$ext);       
        $zip->ExtractTo('tmp_imgs');
        $num_arquivos = $zip->numFiles;
       
        $arqNames = array();   
        for ($i=0; $i<$zip->numFiles;$i++) {           
              $tm= ($zip->statIndex($i));
              $arqNames[] = $tm['name'];
        }       
        $zip->close();

2009/5/7 victorcg <vict...@oi.com.br>



--
Blog Programaçao Especialista
http://my.opera.com/artigos
-->ZEND PHP Certified.
-->UML BORLAND Cerfified.
-->Piadista Certified.


victorcg

unread,
May 7, 2009, 1:49:08 PM5/7/09
to LISTA PHP
Marcus, obrigado pela ajuda, mas arquivos gz, nao está descompactando :
( .

Valeu! :)


On 7 maio, 13:47, Marcus Brasizza <mvbdesenvolvime...@gmail.com>
wrote:
> $zip = new ZipArchive();
>         $zip->open($diretorio.'/'.$nome_arq.'.'.$ext);
>         $zip->ExtractTo('tmp_imgs');
>         $num_arquivos = $zip->numFiles;
>
>         $arqNames = array();
>         for ($i=0; $i<$zip->numFiles;$i++) {
>               $tm= ($zip->statIndex($i));
>               $arqNames[] = $tm['name'];
>         }
>         $zip->close();
>
> 2009/5/7 victorcg <victo...@oi.com.br>
>
>
>
> > Alguem sabe alguma função (ZLIB) em que eu consiga descompactar
> > arquivos gz, com o PHP.
>
> > O que eu achei é descompactar string e não arquivos. ex:
> > GeoLiteCity.dat.gz
>
> > Obrigado!
>
> --
> Blog Programaçao Especialistahttp://my.opera.com/artigos

Alex de Azevedo

unread,
May 7, 2009, 7:14:59 PM5/7/09
to LISTA PHP
Olá..
talvez alguma dessas funções da ZLIB possa te ajudar.. provavelmente a
gzopen...
http://www.php.net/manual/en/ref.zlib.php



$data = file_get_contents('compress.zlib://http://site/uploads/
arquivo.dat.gz');
file_put_contents('arquivo.dat', $data);



Se você tiver o system, exec, ou popen ativados ai.. pode fazer sem
esquentar a cabeça, assim:

$p = exec( 'gunzip -f -v arquivo.data.gz', $verbose);
O $verbose é a saida do comando executado no exec.




Abs,

Alex de Azevedo
nos...@alexazevedo.com.br
Reply all
Reply to author
Forward
0 new messages