Fijate, estas abriendo el <table> dentro del while, con lo que si hay 16 ficheros, has creado 16 <table>. Pero solo sacas un </table>. Tendrias que hacer algo como:
Código PHP:
echo "<table width='404' border='1' align='center' cellpadding='3' cellspacing='0' bordercolor='#666666' bgcolor='#EAEAEA'>
";
while (false !== ($files = readdir($dir))) {
foreach ($exts as $value) {
if (CheckExt($files, $value)) {
$quitar = str_replace(".$value" , "" , $files);
echo "
<tr>
<td><table border='0' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td><font size=1 face=Tahoma><a href='upload/store/$files' class='tah11'>$quitar</a>\n</font></td>
</tr>
</table></td>
</tr>";
echo "<br>";
$count++;
break;
}
}
}
closedir($dir);
Y el que se te descuadre sera posiblemente culpa del diseño HTML. Revisa el HTML generado.
Suerte-