سؤال

لدي برنامج تعليمي من موقع صافي tuts. الذي يستخدم لتحميل ملف مضغوط واستخراج البيانات من داخل الملف في الخادم.

حدث نسخ ولصق الكود مباشرة من صفحة الويب، حدث خطأ في منتصف الطريق من خلال البرنامج النصي الذي تتم معالجته.

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 = جديد ziparchive ()؛

أنا أستخدم PHP الإصدار 4.3.9.

هل كانت مفيدة؟

المحلول

على PHP 4 أنت بحاجة مطلقا لتثبيت Pecl Zip 1.1.0. (أو أحدث) من أجل الوصول إلى ZipArchive صف دراسي. يتبع هذه التعليمات.

إذا لم يكن ذلك ممكنا، فسيتعين عليك استخدام غير OO zip_open, zip_read الخ و API.

نصائح أخرى

يمكنك استخدام 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.

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 وإذا لم يكن لديك الوقت لإرشاد استخدامه استخراج البيانات تحتاج أيضا إلى استخدام المكتبات المرجعية

تحتاج إلى مرجع إلى المكتبة التي تحتوي على 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top