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.