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)).