Es mas facil si modificas esta linea:
Código PHP:
while ($file = readdir($dir)) { if (($file != ".") || ($file != "..")) { $F++; $archivos[$F] = $file; } }
El incremento de $F ($F++) debe ir antes de añadirse el archivo ($archivos[$F] = $file ). Asi el primer indice de $archivos es 1 y $F queda con el valor del ultimo archivo añadido. Por lo que rand(1,$F) funcionara bien. De esta forma no necesitas añadir codigo, solo cambiar el orden de esas dos instrucciones.