Otra opción seria utilizar Iterators, algo asi:
Código PHP:
Ver originalclass OnlyFileRecursiveFilterIterator extends RecursiveFilterIterator
{
public function accept()
{
return $this->hasChildren() || $this->current()->isFile(); }
}
$iterator = new RecursiveIteratorIterator(
new OnlyFileRecursiveFilterIterator(
new RecursiveDirectoryIterator('/path/to/dir')));
echo $random . PHP_EOL;
Saludos.