De esa pagina:
Cita: Note: Because PHP's integer type is signed and many platforms use 32bit integers, filesize() may return unexpected results for files which are larger than 2GB. For files between 2GB and 4GB in size this can usually be overcome by using sprintf("%u", filesize($file)).
Con eso puedes tener una cadena con el numero grande. Quizas tambien podria servir asignarlo como float:
Código PHP:
$tamano=(float) filesize();
Suerte.
PD: No tengo ningun fichero de mas de 2gb, asi que no puedo probarlo