Hola:
Para añadir los ficheros al array uso arraay_push, aunque eso no creo que tenga importancia. Mi código es:
$d = dir($carpeta);
while (false !== ($entrada = $d->read())) {
if (!in_array($entrada, $urls)) {
if (preg_match('/(.jpg|.gif|.png)/', $entrada))
array_push($ficheros, $entrada);
}
};
$d->close();
La línea con la expresión regular filtra los ficheros con extensiones de imágenes... tal vez sea conveniente cambiar el orden de las condiciones...
Saludos