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
)
فقط نکته اش اینجاست که اگه فولدر تو فولدر بشه اون ساب فولدرو نمیگیره :)