دریافت سایز فایل ها در php

دریافت سایز فایل ها در php

در مواقعی در برنامه نویسی وب به این احتیاج پیدا می کنیم تا سایز فایلی که در سرور ذخیره شده است و یا قرار است در سرور ذخیره شود را به دست آوریم( مانند نمایش آن به کاربر در اسکریپت های آپلود فایل و … ) البته می دانیم که با استفاده از تابع filesize می توان اندازه فایل را به بایت بدست آورد، اما علاوه بر این می خواهیم بایت را در صورت نیاز به واحد های بزرگ تر تبدیل کنیم که این کار را می توانیم با استفاده از تابع زیر انجام داد، به قطعه کد زیر توجه کنید:

function getFileSize($file, $precision = 2){
    if (is_file($file)){
        if (!realpath($file))
            $file = $_SERVER["DOCUMENT_ROOT"] . $file;
       $fileSize = filesize($file);
	   $units = array('B', 'KB', 'MB', 'GB', 'TB'); 
	   $bytes = max($fileSize, 0); 
	   $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); 
	   $pow = min($pow, count($units) - 1); 
	   $bytes /= pow(1024, $pow);
	   return round($bytes, $precision) . ' ' . $units[$pow]; 
    }
    return false;
}

در تابع بالا پارامتر اول مسیر هستش و پارامتر دوم دقت اعشار هست که پارامتری اختیاری است و به طور پیشفرض 2 در نظر گرفته شده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.