فشرده سازی , زیپ کردن و خارج کردن فایل ها از حالت فشرده با PHP در دو صوت

خیلی وقت ها پیش میاد که میخوایم یه فایل یا چندین فایل یا حتی فولدر رو زیپ کنیم و بفرستیم برای کاربران تا دانلود کنن! میتونیم این کار رو با PHP انجام بدیم 😀 در این آموزش میخوام کتابخونه ی Zippy رو به دوستان عزیز معرفی کنم , این کتابخونه که برای فشرده سازی(زیپ کردن) و خارج کردن فایل ها از حالت فشرده توسط PHP ساخته شده قابلیت های زیر رو داره:

  • ایجاد فایلهای فشرده از نوع zip , tar , gz ,bz ,bz2
  • خارج کردن فایل های فشرده از حالت فشرده بودن (extract کردن)
  • تشخیص اینکه درون فایل زیپ چه فایل هایی قرار داره بدون نیاز به Extract کردن فایل زیپ
  • قابلیت فشرده سازی چندین فایل و قرار دادن انها درون یک فایل فشرده شده
  • قابلیت فشرده سازی پوشه ها (فولدر)
  • قابلیت فشرده سازی صفحات وب! و ذخیره به صورت زیپ شده
  • کاربری ساده و راحت 😀
  • و …

خب حالا چجوری از کتابخونه Zippy برای فشرده سازی فایلامون در PHP استفاده کنیم؟

در ابتدا این کتابخونه رو باید دانلود کنید , این کتابخونه رو میتونید از اینجا دانلود کنید (کلیک کنید) یا اینکه اون رو از اخر همین پست به همراه نمونه مثال هایی که در ادامه میگیم دانلود کنید.

نحوه ی استفاده از این کتابخونه برای فشرده سازی فایل ها به صورت زیر است :

در دستورات بالا ابتدا لود کننده کتابخونه ی zippy رو به کد خودمون اظافه میکنیم , این کار رو با دستور require انجام میدیم. بعدش کلاس Zippy رو از فضای نام (namespace) مربوط به Alchemy به برنامه اظافه میکنیم , در مرحله بعد متد load رو اجرا میکنیم تا برنامه ی ما اماده بشه برای کار کردن با فایل های زیپ 😀

حالا میایم و با استفاده از دستور create عکسی که اسمش ۱ هست و از نوع jpg رو درون پوشه tarhche میزاریم و زیپ میکنیمش , با اجرا شدن این دستور یه فایل زیپ با نام archive.zip ایجاد میشه! اگه بازش کنید میبیند توش یه پوشه با نام tarhche هست که توی اون پوشه عکس ما قرار داره 😀

حالا اگه بخوایم محتوای یه فولدر (پوشه) رو زیپ کنیم چیکار میکنیم؟ به مثال زیر دقت کنید:

با اجرا شدن دستورات بالا محتوای درون پوشه ی symfony توی پوشه ی folder ریخته میشه و زیپ میشه! یه فایل زیپ با نام archive.zip ایجاد میشه اگه بازش کنید توش یه پوشه با نام folder خواهد بود که باز توی اون محتوای پوشه ی symfony قرار داره! به همین راحتی محتوای فولدر symfony رو فشرده کردیم 😀 تازه یه کار دیگه هم کردیم! محتوای پوشه ای که فشرده میکنیم رو توی فایل زیپ خودمون توی یه پوشه ی دیگه قرار دادیم! دیگه بهتر از این چی میخواید! حالا به مثال زیر دقت کنید:

با اجرا شدن دستورات بالا یه فایل از نوع Tar از حالت فشرده خارج میشه و محتوای اون در مسیر کنونی (کنار همین فایل php) قرار میگیره. 🙂

اگه بخواید چندتا فایل رو همزمان زیپ کنید میتونید به صورت زیر عمل کنید:

با اجرا شدن دستورات بالا فولدر directory درون فایل فشرده ی ما قرار داده میشه , بعدش فایل logo که از نوع jpg هست از ادرس داده شده (در اینجا گوگل) گرفته میشه و توی فایل فشرده قرار داده میشه , بعدش صفحه اصلی فیسبوک گرفته میشه و درون فایل فشرده قرار داده میشه , در اخر فایل image از نوع jpg در پوشه ی directory قرار داده میشه و به فایل فشرده ی ما اظافه میشه و بعدش این فایل ها به صورت zip شده و با نام archive ذخیره میشن 😀

کسانی که میخوان چیزای بیشتری در مورد دستورات این کتابخونه یاد بگیرن میتونن به مرجع اون یه نگاهی بندازن(کلیک کنید).

دوستان عزیز مثال های این اموزش به همراه کتابخونه ی Zippy رو میتونید از انتهای همین پست دانلود کنید و استفاده کنید , دوستانی که سوال یا مشکلی دارند از انتهای همین پست مطرح کنند تا پاسخ بدم. موفق باشید.

برای دانلود کتابخونه Zippy به همراه مثال ها کلیک کنید

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK

می‌خواهید دیدگاهتان را بیان کنید؟