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!