0

我有一个来自Net Tuts网站的教程,该教程用于上传 zip 文件并将文件中的数据提取到服务器中。

直接从网页复制和粘贴代码不起作用,在处理脚本的中途出现错误。

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

这可能与我使用的 PHP 版本有关吗?这是它卡住的代码:

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

?>

第 6 行:$zip = new ZipArchive();

我正在使用 PHP 版本 4.3.9。

4

5 回答 5

3

您也可以使用 PclZip:

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

于 2009-02-24T03:41:23.237 回答
2

在 PHP 4 上,您绝对需要安装PECL zip 1.1.0(或更新版本)才能访问ZipArchive该类。遵循这些说明

如果这不可能,您将不得不使用非 OOzip_openzip_readAPI。

于 2009-02-24T01:35:33.693 回答
1
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);
}

我同意使用 PclZip,如果您没有时间编写代码,请使用提取数据,您还需要使用参考库

于 2009-10-30T05:33:35.650 回答
0

您需要对包含ZipArchive该类的库的引用

于 2009-02-24T01:35:43.537 回答
0
$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

于 2010-05-18T13:04:28.493 回答