رفتن به مطلب
رضاقاسمی

كد فشرده كردن فايلها

پست های پیشنهاد شده

سلام من يه كد ميخوام مثلا 10 تا پوشه دارم همه رو توي سايت زيپ كنه و بزاره براي دانلود

البته نه عمومي

php

javascrpt

cake

yii

هرچي بود اشكال نداره

ویرایش شده توسط رضا قاسمی

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام من يه كد ميخوام مثلا 10 تا پوشه دارم همه رو توي سايت زيپ كنه و بزاره براي دانلود

البته نه عمومي

php

javascrpt

cake

yii

هرچي بود اشكال نداره

سلام

 

این کد یه پوشه رو با تمام محتویاتش هر چی که باشه اعم از پوشه وفایل واست زیپ می کنه

function Zip($source, $destination)

{

if (!extension_loaded('zip') || !file_exists($source)) {

return false;

}

$zip = new ZipArchive();

if (!$zip->open($destination, ZIPARCHIVE::CREATE)) {

return false;

}

$source = str_replace('\\', '/', realpath($source));

if (is_dir($source) === true)

{

$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);

foreach ($files as $file)

{

$file = str_replace('\\', '/', $file);

// Ignore "." and ".." folders

if( in_array(substr($file, strrpos($file, '/')+1), array('.', '..')) )

continue;

$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();

}

 

نحوه استفاده

 

Zip('folder', 'folder/archive.zip');

پوشه ی فولدر رو میگیره و یک فایل زیپ با نام

archive.zip

توی همیون فولدر میسازه

 

بدرود...

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من فايل پيوست رو آپلود كردم يه پوشه folder هم ساختم ولي كار نميكنه

سلام

فایلی که خودم استفاده وتست کردم واست پیوست کردم

در این فایل خط زیر واسه فراخوانی تابع می باشد

zip('cms','newcms.zip');

یک فولدربه اسم

cms

که درون آن فایلها وفولدرهایی وجود دارد و من میخوام اونارو فشرده کنم وبریزم داخل یک فایل زیپ با نام

newcms.zip

ضمنافولدر

cms

توی همین مسیریه که فایل حاوی کد زیپ وجود داره

یعنی اگر فایل حاوی کد زیپ که قراره اجرا بشه داخل فولدر

htdocs

هست ،فولدر

cms

هم داخل همین فولدره

وفایل زیپ شده هم میفته همین پوشه

htdocs

 

 

 

اینم فایل

http://www.jmdownload.ir/download.php?filename=14102957201.zip

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...