Un altro problema!

La mia pagina (che fa una lista dei files presenti in una sottocartella), quando incontra dei files di grande dimensione, va lentissima!

Posto il codice:
codice:
function human_file_size($size)
{
   $filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
   return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i];
}
$cont=0;
$rep=opendir('./files'); 
$fold = getcwd();
$fold_array = explode("\\",$fold);
$titolo = array_pop($fold_array);

echo "<table><tr><td>[img]../img/logo.gif[/img]</td>";
echo "<td>Centro download
";
echo "Cliente:".$titolo."
</td></tr></table>";
echo "

Istruzioni: per scaricare il file clicca con il pulsante destro sul nome del file e scegli 'salva oggetto con nome'</p>";
echo "<table width='100%'><tr><td></td><td>File</td><td>Dimensione</td></tr>";
while ($file = readdir($rep)) {
	if($file != '..' && $file !='.' && $file !=''){ 
		if (is_dir($file)){
			echo "    ";
			echo "$file";
			echo "
";
		}
		else {
			$cont++;
			$file2 = 'files/'.$file;
			$dim = human_file_size(filesize($file2));
			$size = getimagesize($file2);
			echo "<tr><td width='20'>".$cont.".</td>";
			if ($size[0]!="")
				echo "<td width='20%'>".$file."</td><td>".$dim." - ".$size[0]." x ".$size[1]." px</td></tr>";
			else
				echo "<td width='20%'>".$file."</td><td>".$dim."</td></tr>";
		}
	}
}
echo "</table>";
closedir($rep);
clearstatcache();
Che mi dite?