نحوه بدست آوردن حجم فایل های یک پوشه
سلام اساتید
یه سوال دارم لطف کنید و پاسخ بدید
تشکر
من روی سیستم هر بار یکسری فایل zip توی یک پوشه میریزم و میخوام مقدار حجم اون فایل های توی پوشه را هربار با همدیگه بدست بیارم و کپی کنم به صورت زیر
22.4mb
45mb
2.1mb
78mb
فقط میخوام به همین صورت حجم فایل ها چاپ بشه و آخرشون هم mb بیاد
تمام فایل ها با فرمت Zip هستن و هر سری نام فایل ها فرق میکنه
بازم میگم فقط میخوام حجم فایل ها چاپ بشه ولی به ترتیبی که فایل ها توی پوشه هست
تشکر میکنم اگر کدشو بدید
نقل قول: نحوه بدست آوردن حجم فایل های یک پوشه
نقل قول: نحوه بدست آوردن حجم فایل های یک پوشه
اینجور چیزا رو تو گوگل سرچ کنین خیلی زود به جواب میرسین.
<?php
function folderSize ($dir)
{
$size = 0;
foreach (glob(rtrim($dir, '/').'/*', GLOB_NOSORT) as $each) {
$size += is_file($each) ? filesize($each) : folderSize($each);
}
return $size;
}
function formatSizeUnits($bytes)
{
if ($bytes >= 1073741824)
$bytes = number_format($bytes / 1073741824, 2) . ' GB';
elseif ($bytes >= 1048576)
$bytes = number_format($bytes / 1048576, 2) . ' MB';
elseif ($bytes >= 1024)
$bytes = number_format($bytes / 1024, 2) . ' KB';
elseif ($bytes > 1)
$bytes = $bytes . ' bytes';
elseif ($bytes == 1)
$bytes = $bytes . ' byte';
else
$bytes = '0 bytes';
return $bytes;
}
echo formatSizeUnits(folderSize("folder_name"));
نقل قول: نحوه بدست آوردن حجم فایل های یک پوشه
تشکر
ولی من هرکاری میکنم میزنه 0 byte
تغییر خاصی باید توی کد ها بدم ؟
فایل را هم توی پوشه و هم بیرون پوشه میزارم جواب نمیده
نقل قول: نحوه بدست آوردن حجم فایل های یک پوشه
الان تست کردم فقط حجم پوشه را میده
من میخوام حجم فایل های داخل پوشه را بده
باید چیکار کنم ؟
نقل قول: نحوه بدست آوردن حجم فایل های یک پوشه
function get_filesize_folder($folder_path)
{
$files=array();
$dirs=scandir($folder_path);
foreach($dirs as $key=>$dir)
{
if($dir=="."||$dir==".."){ continue;}
$size=filesize($folder_path.'/'.$dir);
$files[$dir]=number_format(($size/1024)/1024,2);
}
return $files;
}
این تابع که نوشتم آدرس یک پوشه را میگیره و ارایه ای بر میگردونه که اندیسش اسم فایل هست و مقدارش سایز فایل با فرمت مگابایت
یک نمونه خودم تست کردم :
print_r(get_filesize_folder('tmp'));
برگردوند:
Array
(
[Bebegim [128].mp3] => 4.37
[Mohsen Ebrahimzadeh - Mishi Fadash (320) (Iromusic).mp3] => 7.19
[Soroush Hichkas Feat Reza Pishro Feat Dj Mavi - Bazam Kalan - DJ Mavi Club Mix (320) (Iromusic).mp3] => 9.21
)
فقط نکته اش اینجاست که اگه فولدر تو فولدر بشه اون ساب فولدرو نمیگیره :)