Jak sprawdzić rozmiar pliku w megabajtach (MB)? Bardzo prosto, oto kod:
<?php
$plik = 'jakisplik.zip';
echo 'Plik <b>'.$plik.'</b> ma rozmiar <b>'.filesize($plik).'</b> B, czyli <b>'.
round( filesize($plik) / 1024 / 1024, 2).'</b> MB';
?>
Funkcja filesize() zwraca rozmiar pliku w bajtach (B). Aby zaokrąglić odpowiednio rozmiar pliku, należy użyć funkcji round(). Zmienna $plik przechowuje oczywiście nazwę pliku, którego rozmiar chcemy sprawdzić.
Należy pamiętać, że wszelkie funkcje zwracające status plików są przechowywane w cache od pierwszego wywołania. Dlatego, jeśli chcemy pobrać rozmiar po raz drugi, a istnieje prawdopodobieństwo, że plik uległ zmianie, należy wcześniej wyczyścić cache funkcją clearstatcache().
Skoro rzekomo filesize zwraca rozmiar z kb to czemu dwa razy dzielisz przez 1024?
Zdanie "Należy pamiętać, że wszelkie funkcje zwracające status plików są przechowywane w cache od pierwszego wywołania." jest nieco błędne składniowo, bo wynika z niego, że to funkcje siedzą w cache a nie dane - ale nie miałem pomysłu jak to sformuować - może ktoś mnie poprawi.
Oczywiście, że w bajtach, pomyłka...
A ja bym proponowal kod ponizej z manuala php:
http://pl2.php.net/manual/pl/function.filesize.php#64387
Sam wybiera jaka jednostke uzyc.
od siebie :p
Napewno :D