ZIP یکی از پر استفاده ترین فرمت ها برای فایل های آرشیو (archive) به همراه فشرده کردن داده ها است.
زمانی که قصد داریم به کاربر اجازه دانلود فایل و فولدرهای چندگانه بصورت یکجا از سرور را دارید, تنها نیاز است یک فایل ZIP ایجاد و کل فایل ها را یکجا در اختیار کاربر قرار دهید.
این قابلیت ساخت فایل ZIP با PHP (فشرده کردن) برای ارایه محصولات دانلودی و دیجیتال نیز بسیار کاربردی می باشد.
ساخت فایل ZIP با PHP به راحتی ایجاد فایل آرشیو و ZIP شده در دسکتاپ است که در ادامه خواهید دید.
ساخت آرشیو zip از یک دایرکتری, به راحتی می تواند با PHP پیاده سازی شود. کلاس ZipArchive در هسته PHP به ما قابلیت فشرده سازی سریع و آسان فایل و فولدرها را می دهد.
در این آموزش php , قصد داریم به شما نحوه ایجاد یا ساخت فایل ZIP با PHP (فشرده کردن) از فولدر به شما نمایش بدیم.
نکته : از فعال بودن ماژول zipArchive بر روی سرور خود مطمین باشید که از طریق فایل php.ini و خروجی phpinfo() می توانید به این موضوع پی ببرید.
کلاس ZipArtchiver
کلاس ZipArchiver به شما در ساخت فایل ZIP از فولدر (فایل و فولدرهای تو در تو) بر روی سرور را می دهد.
zipDir()
– این تابع یک ZIP از فولدر را که شامل دایرکتری پدر می باشد را ایجاد می کند$sourcePath
– آدرس نسبی (relative) دایرکتری که قرار است zip شود.$outZipPath
– مسیر ذخیره فایل zipdirToZip()
– این یک فانکشن کمکی از کلاس ZipArchiver است که فایل ها و فولدرهای داخلی در یک فولدر را به فایل zip اضافه می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php // WWW.Netparadis.com Class ZipArchiver { /** * Zip a folder (including itself). * * Usage: * Folder path that should be zipped. * * @param $sourcePath string * Relative path of directory to be zipped. * * @param $outZipPath string * Path of output zip file. * */ public static function zipDir($sourcePath, $outZipPath){} /** * Add files and sub-directories in a folder to zip file. * * @param $folder string * Folder path that should be zipped. * * @param $zipFile ZipArchive * Zip file where files end up. * * @param $exclusiveLength int * Number of text to be excluded from the file path. * */ private static function dirToZip($folder, &$zipFile, $exclusiveLength){} } |
برای دیدن تمام کدها لطفا سورس کد را از باکس دانلود ,دریافت کنید.
ساخت فایل ZIP با PHP
از کلاس ZipArchiver برای آرشیو کردن تمام فایل ها و دایرکتری های داخلی فولدر داده شده و ساخت فایل ZIP با PHP به منظور فشرده کردن استفاده کنید.
- ابتدا کلاس
ZipArchiver
را اینکلود و یک شی از آن بسازید. - مسیر فولدری که قصد دارید آن را zip شود, مشخص کنید.
- مسیر قرار گیری فایل zip ایجاد شده روی سرور را مشخص کنید.
- تابع
zipDir()
از کلاسZipArchiver
را برای ساخت zip صدا بزنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Include and initialize ZipArchive class require_once 'ZipArchiver.class.php'; $zipper = new ZipArchiver; // Path of the directory to be zipped $dirPath = '/path/to/Dir'; // Path of output zip file $zipPath = '/path/to/netparadis-'.time().'.zip'; // Create zip archive $zip = $zipper->zipDir($dirPath, $zipPath); if($zip){ echo 'ZIP archive created successfully.'; }else{ echo 'Failed to create ZIP.'; } |
امیدوارم از آموزش ساخت فایل ZIP با PHP نهایت استفاده را برده باشید.
برای دانلود سورس کد کامل از باکس دانلود زیر استفاده کنید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.