نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: مشکل در مورد zip کردن فایل

  1. #1
    عضو جدید
    تاریخ عضویت
    Sep 2011
    نوشته ها
    39
    تشکر تشکر کرده 
    0
    تشکر تشکر شده 
    14
    تشکر شده در
    13 پست

    پیش فرض مشکل در مورد zip کردن فایل

    با سلام
    من یه برنامه ای دارم مینویسم که یه فولدر میگیره و تمام فایلها و زیر فولدرهای اون رو به یه فایل زیپ تبدیل میکنه. این هم کدشه:
    کد:
    function creat_zip($source, $destination)     {         if (file_exists($source) === true)         {              $zip = new ZipArchive();             if ($zip->open($destination, ZIPARCHIVE::CREATE) === true)             {                  $source = realpath($source);                  if (is_dir($source) === true)                  {                       $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);                       foreach ($files as $file)                       {                            $file = realpath($file);                            if (is_dir($file) === true)                            {                                $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));                            }                            else if (is_file($file) === true)                            {                                $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));                            }                      }                 }                  else if (is_file($source) === true)                 {                      $zip->addFromString(basename($source), file_get_contents($source));                 }            }            return $zip->close();         }         return false;     }     creat_zip($path, $path . '/my_compressed.zip');     $file = $path . '/my_compressed.zip';       header("Expires: 0");       header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");       header("Cache-Control: no-store, no-cache, must-revalidate");       header("Cache-Control: post-check=0, pre-check=0", false);       header("Pragma: no-cache");       header("Content-type: application/pdf");       header('Content-length: '.filesize($file));       header('Content-disposition: attachment; filename='.basename($file));       readfile($file);
    ولی یه مشکلی داره که وقتی فایل زیپ رو میسازه، داخل فایل زیپ به همون ترتیبی که بهش مسیر داده شده، از روت هارد فولدر تو فولدر میسازه و یکی یکی باید فولدرها باز بشه که به فولدر موردنظر که زیپ شده برسم (یعنی از روت هارد، مسیر رو نشون میده تو فایل زیپ). که این از نظر امنیت خیلی مشکل داره. چطور میشه این مشکل رو حل کرد به طوری که زمانی که فایل زیپ رو باز میکنم فقط فولدر مورد نظر که میخوام زیپ بشه رو نشون بده نه اینکه از ابتدای هارد مسیر رو یکی یکی نشون بده ؟؟

  2. # ADS




     

  3. #2
    عضو انجمن camelian77 آواتار ها
    تاریخ عضویت
    Sep 2011
    محل سکونت
    Los Angeles, CA
    نوشته ها
    441
    تشکر تشکر کرده 
    148
    تشکر تشکر شده 
    934
    تشکر شده در
    622 پست

    پیش فرض پاسخ : مشکل در مورد zip کردن فایل

    من حس می‌کنم که این سوال رو دقیقا در همین فروم پاسخ دادم !! یه جستجویی بکنید.
    کمپین یاد آوری زبان فارسی به وب هاستینگ تالک !

    چگونه از هاست / سرور مجازی خود شکایت کنیم؟ (طنز) http://www.webhostingtalk.ir/f118/92986/
    ----------------------------------------------------------


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •