Ho scoperto che il rallentamento avviene col "getimagesize"..
Ecco quindi la soluzione. Controllo l'estensione del file prima di fare il "getimagesize":
codice:
<?php
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);
$estensioni=array('gif','jpg','bmp');
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));
echo "<tr><td width='20'>{$cont}.</td>";
for($i=0;$i<count($estensioni);$i++){
$estensione=substr($file2,(strlen($file2)-3),strlen($file2));
if(in_array($estensione,$estensioni)){
$size = getimagesize($file2);
$image = true;
}
else
$image = false;
}
if($image)
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();
?>
Spero possa essere utile a qualcuno.
Resta il fatto che mi servono informazioni riguardo al primo post del thread, grazie!