Extrair dados de um arquivo zip (PHP)
Pergunta
Eu tenho um tutorial de um site Tuts líquidas que é usado para fazer upload de um arquivo zip e extrair os dados dentro do arquivo para o servidor.
Copiar e colar o código diretamente a partir da página web não trabalho, um erro ocorreu a meio do script que está sendo processado.
Fatal error: Cannot instantiate non-existent class: ziparchive in /www/website_here.co.uk/httpdocs/test/functions.php on line 6
É possível que isso tem a ver com a versão do PHP Eu estou usando? Aqui está o código ele fica preso em:
<?php
function openZip($file_to_open) {
global $target;
global $unique_folder;
$zip = new ZipArchive();
$x = $zip->open($file_to_open);
if ($x === true) {
$zip->extractTo($target . $unique_folder);
$zip->close();
unlink($file_to_open); #deletes the zip file. We no longer need it.
} else {
die("There was a problem. Please try again!");
}
}
?>
linha 6: $ zip = new ZipArchive ();
Eu estou usando PHP versão 4.3.9.
Solução
No PHP 4 é absolutamente necessário para instalar PECL zip 1.1.0 (ou mais recente) a fim de ter acesso à classe ZipArchive
. Siga estas instruções .
Se isso não for possível, você terá que usar o zip_open
não-OO, zip_read
etc. API.
Outras dicas
Você pode usar PclZip demasiado:
include('pclzip.lib.php');
$zip = new PclZip($file_to_open);
if ($zip->extract(PCLZIP_OPT_PATH, $target . $unique_folder) == 0) {
die("There was a problem. Please try again!");
} else {
unlink($file_to_open);
}
include('pclzip.lib.php');
$zip = new PclZip($file_to_open);
if ($zip->extract(PCLZIP_OPT_PATH, $target . $un_f) == 0) {
close("close");
} else {
unlink($file_op);
}
eu concordo uso PclZip e se você não tem tempo para o código-lo uso extrair dados u também precisa utilizar bibliotecas de referência
Você precisa de uma referência para a biblioteca que contém a classe ZipArchive
$zipn=$_REQUEST['zip'];
echo $zipn;
$zip = new ZipArchive;
echo $_SERVER['DOCUMENT_ROOT']."/";
if ($zip->open($zipn) === TRUE) {
$zip->extractTo($_SERVER['DOCUMENT_ROOT']."/");
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
---------- Susheel susheel1104@gmail.com