w moim serwisie mam spory download, zawsze podawało się wartość rozmiaru pliku ręcznie w formie stringu np. "30,1 MB", "124,56 KB", "23.155MB"
Jak widać, każdy mógł wpisać co chciał, w efekcie zero standaryzacji a i operować na tym się nie da (np. ile jest sumarycznie rozmiaru?).
Postanowiłem więc temu zaradzić, przejechałem wszystkie pliki pętlą w której zamiast tego stringu wrzuciłem wynik z filesize, czyli rozmiar w bitach.
Następnie napisałem sobie funkcję do wyświetlania rozmiaru:
function getFileSize($filesize) { $filesize = (int) $filesize; $type = ''; for($multiple = 1; ;$multiple++) { if($filesize < pow(1024, $multiple)) { break; } } if ($multiple == 1) $type = ' B'; elseif ($multiple == 2) $type = ' KB'; elseif ($multiple == 3) $type = ' MB'; return $filesize . $type; }
Akurat taka, że na moje potrzeby wystarcza.
No ale jak zwykle mam takie przerzucie... czy ja nie wynajduję czasem na nowo koła?