Uma boa dica, é a função abaixo para descobrir o tamanho de arquivos. Ela sempre irá retornar o tamanho do arquivo, junto com a nomenclatura correta sobre o tamanho do arquivo. Para o método, foi usado as funções is_file, realpath e filesize.
function tamanhoArquivo( $arquivo, $digitos = 2 ) {
if (is_file($arquivo)) {
$arquivoPath = $arquivo;
if (!realpath($arquivoPath)) {
$arquivoPath = $_SERVER["DOCUMENT_ROOT"].$arquivoPath;
}
$arquivoTamanho = filesize($arquivoPath);
$tamanhos = array("TB","GB","MB","KB","B");
$total = count($tamanhos);
while ($total-- && $arquivoTamanho > 1024) {
$arquivoTamanho /= 1024;
}
return round($arquivoTamanho, $digitos)." ".$tamanhos[$total];
}
return false;
}