کد و تابع PHP برای دریافت سایز فایل ها

دسته بندی: PHP
زمان مطالعه: 2 دقیقه
۲۷ دی ۱۳۹۱

در بعضی برنامه هایی که سمت وب نوشته میشه ، نیاز هست که سایز فایل‌های سمت سرور رو نمایش بدیم . مثلا در اسکریپت هایی مثل فایل منیجر ، آپلود فایل و ... . امروز یک تابع PHP رو به شما میدیم که با استفاده از اون می‌تونید با استفاده از اون سایز فایل‌های موجود در سرور (هاست) رو به صورت یک رشته ی خلاصه شده (مثلا 30KB ، 25MB و ...) داشته باشید .

تابع دریافت سایز فایل‌های سمت سرور در PHP

:: تابع زیر دو تا پارامتر ورودی داره . پارامتر اول مسیر فایل هست و پارامتر دوم هم تعداد رقم اعشاری سایز رو نشون میده که پیشفرض 2 تا هست . این تابع در نهایت سایز فایل رو بر میگردونه . در صورتی که فایل موجود نبود (یافت نشد) هم مقدار false رو بر می‌گردونه :

/*
* @param string $file Filepath
* @param int $digits Digits to display
* @return string|bool Size (KB, MB, GB, TB) or boolean
*/

function getFilesize($file, $digits = 2)
{
if (is_file($file)) {
$filePath = $file;
if (!realpath($filePath)) {
$filePath = $_SERVER["DOCUMENT_ROOT"] . $filePath;
}
$fileSize = filesize($filePath);
$sizes = array("TB", "GB", "MB", "KB", "B");
$total = count($sizes);
while ($total-- && $fileSize > 1024) {
$fileSize /= 1024;
}
return round($fileSize, $digits) . " " . $sizes[$total];
}
return false;
}

نحوه استفاده :

بعد از اینکه این تابع رو در فایل PHP خودتون کپی کردید می‌تونید به راحتی اون رو با پارامتر‌های دلخواه مثلا به این شکل صدا بزنید :

echo 'File sizes :<br>';
echo getFilesize('note1.txt');
echo '<br>';
echo getFilesize('img1.png');
echo '<br>';
echo getFilesize('musics/music1.mp3',4);

که نمونه خروجیش به این شکل میشه :

File sizes : 308 B 12.14 KB 6.1329 MB
چه امتیازی به این مقاله می دید؟
نویسنده لقمان آوند
بیش از 15 سال هست که برنامه نویسی می کنم و از بین همه زبون هایی که کار کردم جاوا، اسمبلی و php رو دوست دارم. دانشجوی دکترای نرم افزارم و توی دانشگاه روی پردازش بیگ دیتا و پردازش موازی کار کردم و عاشق چالش از هر نوعیش هستم! سون لرن مثل بچه منه که 12 سال براش وقت گذاشتم، اینجا همه تلاش می کنیم از شروع یادگیری تا ورود به بازر کار حوزه برنامه نویسی و IT همراهتون باشیم.

نظرات کاربران

Blacky

در آپلودسنتر ها هم همین شکلی استفاده میشه؟ مشخصات فایل میخوام در سایتمون بذاریم و اینکه فایل در سایت دیگه ای باشه این روش جواب میده؟

کیوان علی محمدی

تقریبا به همین صورته؛اما بعید میدونم به این شکلی که شما میخوای جواب بده.

طراحی سایت

جالب بود ممنون

داریوش ری نششته

صفحه اول سایتت خیلی خیلی شلوغه.

amiri

سلام

چگونه فایل های پی دی اف در دتا بیس my sql ذخیره و استفاده میشوند؟

لقمان آوند

فایل ها رو که اونجا ذخیره نمی کنن .
روی هاست ذخیره میشه و ادرسشون در دیتابیس ثبت میشه معمولا …

احمد

دوست گرامی من نیاز به طراحی حرفه ای سایت دارم می تونید کمک کنید؟

لقمان آوند

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

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :