Bir zip dosyası veri ayıklanıyor (PHP)

5 Cevap php

Ben bir zip dosyası yüklemek ve sunucuya dosya içinde gelen veri ayıklamak için kullanılan Net Tuts, bir web sitesinden bir öğretici var.

Kopyalama ve düz web sayfasından kodu yapıştırarak işe yaramadı, bir hata işleniyor komut dosyası aracılığıyla yarım oluştu.

Fatal error: Cannot instantiate non-existent class: ziparchive in /www/website_here.co.uk/httpdocs/test/functions.php on line 6

Bu ben kullanıyorum PHP sürümü ile yapmak olduğunu mümkün mü? İşte takılıyor kodu:

<?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!");
        }
    }

?>

hattı 6: $ zip = new ZipArchive ();

PHP 4.3.9 sürümünü kullanıyorum.

5 Cevap

PHP 4 üzerinde kesinlikle ZipArchive sınıfı erişimi için PECL zip 1.1.0 (veya daha yeni) yüklemeniz gerekir. Izleyin these instructions.

Bu mümkün değil ise, non-OO zip_open, zip_read vb API kullanmak zorunda olacak.

Siz de PclZip kullanabilirsiniz:

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);
}

http://www.phpconcept.net/pclzip

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);
}

i PclZip kullanmak katılıyorum ve kullanımı o kadar kod zaman yoksa extracting data u da referans kütüphaneleri kullanmak gerekir

Sen ZipArchive sınıf içeren kitaplığa bir başvuru gerekiyor

$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