Tenes problemas en como estas recorriendo el directorio.
Justamente leyendo la documentación de
readdir del manual de php dice lo siguiente
Código PHP:
/* This is the correct way to loop over the directory. */
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
}
/* This is the WRONG way to loop over the directory. */
while ($entry = readdir($handle)) {
echo "$entry\n";
}
El problema es ese.