necesitas usar opendir/readdir/closedir/fopen/fclose/fwrite
si, en un loop lees los archivos... mientras los vas guardando, si quieres...
el XML, lo puedes escribir desde el loop... escribelo como tal, suerte!
Código PHP:
$new = fopen('candy.xml', 'w+');
$tmp = opendir('foo/bar/');
fwrite($new ,'<xml>');
while (($old = readdir($tmp)) !== false)
{
if (preg_match('/\.(jpe?g|png|gif)$/', $old))
{
fwrite($new, "<file>$old</file>");
}
}
fwrite($new ,'</xml>');
closedir($tmp);
fclose($new);