Hola,
No lo he probado, pero el estilo de programacion no me gusta. Mucho if, mucha repeticion de codigo, poca extensibilidad y mantenimiento.
Por ejemplo, con un array podrias sustituir el if de los ficheros con un simple in_array(), y añadir otro fichero para excluir seria simplemente añadir un elemento al array.
Y esos 3 if para ejecutar el mismo codigo, me parece innecesario. El if es para separar lo comun de lo no-comun. Tal como esta tu codigo, no lo separas. Si en el futuro en lugar de un gif quieres usar un png para el icono, debes cambiar 3 lineas (3 oportunidades para equivocarte). Podrias usar una funcion para mostrar el mensaje del tamaño, y meter hay el if del tamaño. Luego el codigo de dentro del while solo seria una linea que muestra la imagen, el link y el mensaje del tamaño devuelto por una funcion:
Código PHP:
echo "<img src=\"../images/"; echo substr ("$file",-3); echo ".gif\" align=\"absmiddle\">"; echo "<a href=\"$file\"> $file</a> ,tamaño ".tam_file(filesize($file))."<br><br>";
Saludos.