Y para redondear, aunque sea irse offtopic... como regla general, es conveniente que una vez finalizadas las operaciones con ficheros (es decir, si ya no vas a utilizar de nuevo $gd), cierres el gestor de directorios. Así puedes manipular los datos como quieras, sin mantener el recurso abierto.
En tu ejemplo, esto sería usar 'closedir' justo después de terminar el 'while'.
Un saludo.