PishroApp

22 اردیبهشت 1398 ساعت 21:42

پکیج کار با فایل های zip در لاراول

در php با استفاده از کلاس ZipArchive  می توانید این کار را انجام دهید، اما استفاده از یک پکیج آماده می تواند کار را برای شما بسیار راحت تر کند و التبه قابلیت های بیشتری نیز برای شما فراهم آورد.

در بسیاری از مواقع مدیران سایت ها نیاز به آپلود، ایجاد و یا فشرده سازی فایل های بر روی سرور وب سایت خود دارند.

در php با استفاده از کلاس ZipArchive  می توانید این کار را انجام دهید، اما استفاده از یک پکیج آماده می تواند کار را برای شما بسیار راحت تر کند و التبه قابلیت های بیشتری نیز برای شما فراهم آورد.

در این مطلب پیکیج https://github.com/Chumper/Zipper را برای کار با فایل های فشرده به شما معرفی خواهیم کرد.

با استفاده از این پکیج در لاراول می توانید فایل های زیپ خود را روی سرور باز کرده، لیست فایلها یا محتوای آن را دریافت کنید و یا از فایل های مشخصی یک فایل زیپ ایجاد نمایید.

 

راهنمای نصب و استفاده از پکیج Chumper/Zipper

فایل composer.json را باز کنید

کد زیر را در قسمت "require" فایل composer.json قرار دهید

"chumper/zipper": "1.0.x"

دستور composer update یا composer install را در ترمینال اجرا نمایید

به فایل app/config/app.php بروید:

در providers  این فایل کد زیر را اضاف نمایید:

Chumper\Zipper\ZipperServiceProvider::class

سپس در همین فایل و در آرایه aliases  کد زیر را قرار دهید:

'Zipper' => Chumper\Zipper\Zipper::class

 

حال پکیج نصب شده می باشد و می توانید از آن استفاده نمایید.

نمونه:

$files = glob('public/files/*');
Zipper::make('public/test.zip')->add($files)->close();
$zipper = new \Chumper\Zipper\Zipper;

$zipper->make('test.zip')->folder('test')->add('composer.json');
$zipper->zip('test.zip')->folder('test')->add('composer.json','test');

$zipper->remove('composer.lock');

$zipper->folder('mySuperPackage')->add(
    array(
        'vendor',
        'composer.json'
    ),
);

$zipper->getFileContent('mySuperPackage/composer.json');

$zipper->make('test.zip')->extractTo('',array('mySuperPackage/composer.json'),Zipper::WHITELIST);

$zipper->close();

 

توضیح برخی متد ها:

متد listFiles($regexFilter = null): 

با این متد می توانید لیست فایل های درون یک فایل فشرده را مشاهده نمایید.

متد extractTo($path):

 با این متد می توانید یک فایل زیپ را باز و محتویات آن را در محل مورد نظر قرار دهید.

متد remove($file/s):

با این متد می توانید یک یا چند فایل خاص را از فایل فشرده ی مورد نظر حذف کنید.

 

برای مشاهده دیگر متد های این پکیج به صفحه آن مراجعه کنید.

 

درصورتی که مشکلی در استفاده از این پکیج دارید یا راهنمایی خاصی نیاز دارید از بخش نظرات مشکل خودتون رو ارسال کنید.

23 admin
نظرات

برای اطلاع از پاسخ به نظر شما می توانید ایمیل یا شماره موبایل خود را وارد نمایید. *

ایمیل و شماره موبایل شما کاملا مخفی خواهد ماند و در سایت نمایش داده نخواهد شد. *

پاسخ به نظر
اگر نظری برای این مطلب ارسال شد از طریق ایمیل مرا اطلاع بده!

هنوز برای این مطلب نظری ارسال نشده است!
0