0

zipファイルをアップロードしてファイル内からサーバーにデータを抽出するために使用されるWebサイトNetTutsからのチュートリアルがあります。

Webページから直接コードをコピーして貼り付けることはできませんでした。処理中のスクリプトの途中でエラーが発生しました。

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に従ってください。

それが不可能な場合は、OOなど以外のAPIを使用する必要がありzip_openますzip_read

于 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
$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 に答える
0

ZipArchiveクラスを含むライブラリへの参照が必要です

于 2009-02-24T01:35:43.537 に答える