Cualquier duda es mejor recurrir al manual de PHP para saber con exactitud que hace cada función...
Código PHP:
Ver original<?php
//Obtiene la información del archivo (nombre y extensión)
function getInfo($file,$type) {
//separamos el nombre del archivo por el punto
if ($type=='name') {
//retornamos el nombre
return $info[0];
}else {
//retornamos la extensión
return $info[1];
}
}
//definimos el url de la carpeta que vamos a leer el archivo
$path = 'prueba3';
//creamos el objeto dom que generará el XML
$dom = new DOMDocument('1.0', 'utf-8');
//creamos un primer elemento 'galerias' que guardara a su vez todos
//los demas elementos que compondran el xml
$galerias = $dom->createElement('galerias');
//verificamos si podemos abrir la carpeta para poder leer su contenido
//recorremos los archivos que contiene la carpeta padre
while($file = readdir($openPath)) { //verificamos que el valor retornado es realmente un valor
if ($file != '.' && $file != '..') {
//como tendremos archivos de diferente tipo (jpg y txt)
//vamos a leer unicamente los jpg para no duplicar info
if (getInfo($file,'type') == 'jpg') {
//creamos un elemento en el dom del xml 'item'
//para guardar la imagen y su descripción
$galeria = $dom->createElement('item');
//Obtenemos el nombre del archivo
$name = getInfo($file,'name');
//creamos el elemento en el dom del xml para
//guardar el nombre completo de la imagen
$imagen = $dom->createElement('imagen',$file);
//creamos el url del archivo txt que contiene la decripción
//cabe aclarar que tiene que tener el mismo nombre que la imagen
//que tendrá su descripción
$urlTxt = $path.'/'.getInfo($file,'name').'.txt';
//veriicamos la existencia del archivo
//obtenemos el contenido del archivo txt
//creamos el elemento que contendrá la descripción
//de la imagen
$descript = $dom->createElement('decript',$content);
}else {
//si el archivo no existe indicamos que no se pudo encontrar
$descript = $dom->createElement('decript','not found!!!');
}
//agremamos el elemento imagen y descripción al elemento padre 'item'
$galeria->appendChild($imagen);
$galeria->appendChild($descript);
//agregamos el elemento 'item' al elemento padre 'galerias'
$galerias->appendChild($galeria);
}
}
}
}
//cerramos la carpeta abierta
//por fin agregamos todos los elementos al xml final
$dom->appendChild($galerias);
//guardamos el xml en un archivo fisico con el nombre galerias.xml
$dom->save('galerias.xml');