Por lo que veo en tu código la funcion de leer directorio te retorna una matriz, y para ordenar las matrices alfabeticamente tienes que usar
asort.
Algo asi :
Código PHP:
if ($gestor = asort(opendir($ruta))) {
Aunque supongo que lo más sencillo es crearte una base de datos sencilla en la que metes todos los nombres de los ficheros, luego le pides la lista ordenada a SQL / MySql.