Nono, non è approssimativo, è un calcolo matematico.
getimagesize mi restituisce un array con delle informazioni tra cui:
0: width
1: height
channel: byte
Ho aperto l'immagine che era riuscito a lavorare con photoshop e in basso mi calcolava 6,2mb di spazio occupato dall'immagine (quando invece salvata alla massima definizione jpg è 1,32mb su disco).
Caricandola queste erano le specifiche restituite da getimagesize:
0: 1700
1: 1275
channel: 3
1700*1275*3/1024/1024 = 6,20 e qualcosa.
In base alla qualità ed al tipo channel varia e di conseguenza aumenta o diminuisce l'effettiva grandezza quindi dovrebbe essere abbastanza buono come calcolo.

Rispondi quotando