Jump to content


Photo

Descompactar Arquivos Zip


  • Faça o login para participar
4 replies to this topic

#1 Djeco

Djeco

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 19/05/2008, 11:43

To tentando descompactar arquivos zip com o script abaixo:

$zip = new Zip();
	$zip->open($pacote);
	$zip->extractTo("dezip/");
	$zip->close();

Mas mesmo eu habilitando a extensão php_zip da erro. O erro que da é "Fatal error: Cannot instantiate non-existent class: zip in ..." na linha $zip = new Zip();

O que faço pra arrumar?

valeu!
Interesses em: Padrões, PHP, ActionScript, JavaScript, XMLHttpRequest e ASP

Visite: http://www.aprendedorismo.com.br

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 19/05/2008, 12:10

O problema é que a classe se chama ZipArchive.

[]’s :DAté mais

#3 Djeco

Djeco

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 19/05/2008, 13:09

O ZipArchive não é só pra php 5?
Eu to usando o 4.3
Interesses em: Padrões, PHP, ActionScript, JavaScript, XMLHttpRequest e ASP

Visite: http://www.aprendedorismo.com.br

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 19/05/2008, 14:00

O ZipArchive não é só pra php 5?
Eu to usando o 4.3

A classe é a mesma. A diferença entre o PHP 4 e 5 é a biblioteca utilizada para implementar os métodos. ;)

[]’s :DAté mais

#5 Djeco

Djeco

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 20/05/2008, 10:55

Hmm.. pensei q não funcionava no 4...

mas mesmo mudando pra ZipArchive o erro continuou o mesmo...
Usando ZipArchive as linhas de baixo mudam ou é a mesma implementação pras duas classes?

Consigui abrir o arquivo com um outro script... mas não sei como faço pra salvar os arquivos no disco.
o script é esse:
$zip = zip_open(getcwd()."/".$pacote);
	if ($zip) {
		while ($zip_entry = zip_read($zip)) {
			echo "Name: " . zip_entry_name($zip_entry) . "<br />\n";
			echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "<br />\n";
			echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "<br />\n";
			echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "<br />\n";
			if (zip_entry_open($zip, $zip_entry, "r")) {
				$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
				zip_entry_close($zip_entry);
			}
			echo "<br />\n";
		}
		zip_close($zip);
	}

Estou gravando usando o fwrite mas não sei se é a melhor maneira, mudei o código dentro do if do script acima e ficou assim:
if (zip_entry_open($zip, $zip_entry, "r")) {
		$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
		$arquivo = fopen("campanhas/".zip_entry_name($zip_entry),"w+");
		fwrite($arquivo,$buf);
		fclose($arquivo);
		zip_entry_close($zip_entry);
	}

Consegui com o script inicial mesmo... o problema era a versão do PHP instalado aqui.
Atualizei pro 5 e deu certo.

valeu!
Interesses em: Padrões, PHP, ActionScript, JavaScript, XMLHttpRequest e ASP

Visite: http://www.aprendedorismo.com.br




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq