Frage

Ich habe ein Tutorial von einer Website Net Tuts die verwendet wird, eine Zip-Datei zu laden und die Daten aus der Datei in den Server zu extrahieren.

Kopieren und Einfügen des Code direkt aus der Web-Seite nicht funktioniert hat, ein Fehler auf halben Weg durch das Skript aufgetreten verarbeitet werden.

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

Ist es möglich, dass diese mit der Version von PHP zu tun ist, ich verwende? Hier ist der Code es klemmt auf:

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

?>

Zeile 6: $ zip = new ZipArchive ();

Ich bin mit PHP Version 4.3.9.

War es hilfreich?

Lösung

Auf PHP 4 Sie müssen unbedingt PECL zip 1.1.0 (oder höher) installieren um Zugriff auf die ZipArchive Klasse zu haben. Folgen Sie diese Anweisungen .

Wenn das nicht möglich ist, werden Sie die nicht-OO zip_open, zip_read usw. API verwenden.

Andere Tipps

Sie könnten PclZip verwenden auch:

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 zustimmen PclZip verwenden und wenn Sie es nicht die Zeit haben, um die Verwendung Extrahieren von Daten codieren up u müssen auch Referenzbibliotheken

nutzen

Sie müssen einen Verweis auf die Bibliothek, die die ZipArchive Klasse mit

$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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top