Bueno, me estoy liando un poco. A ver, os comento qué pretendo hacer. Tengo una galería de imágenes que carga las imágenes mediante un XML. Para no tener que escribir el XML para cada galería (carpeta), coloqué dentro de la misma un archivo creaXML.php y un archivo blanco.xml de modo que el php tomara el xml y crease un nuevo xml: negro.xml que contentría algo así
Código:
<?xml version="1.0" encoding="utf-8"?>
<Galeria>
<Imagenes>
<img>galerias/mariano/001.jpg</img>
<img>galerias/mariano/002.jpg</img>
</Imagenes>
</Galeria>
El código de creaXML.php serái el siguiente:
Código:
<?php
//Lista en un xml los archivos .jpg de un directorio.
$Galeria = simplexml_load_file ("blanco.xml");
//cargo un archivo xml en $Galeria
$NuevaGalería = $Galeria->addChild('Imagenes');
//añado un hijo a la Galería llamado Imágenes
$cadena=getcwd();
//guardo en $cadena la ruta absoluta del directorio actual
$actual = substr ($cadena,36);
//le resto los 36 primeros caracteres para quedarme con la parte que me interesa
//para crear la ruta que necesitaré después
$directorio=opendir('.');//abro el directorio actual
while ($archivo = readdir($directorio))
{
$ext = strtolower(array_pop(explode(".",$archivo)));
//guardo la extensión del actual
if($ext=="jpg"){//pregunto si es jpg
if (($archivo!='.')and($archivo!='..')){
//no quiero directorios actual ni padre
//(creo que sobra ya, xq ya han pasados sólo los jpg
$NuevaGaleria->addChild('img',"$actual/$archivo");
//creo un hijo <img>ruta/archivo.jpg</img>
}
}
}
//guardo el xml creado en un xml que si está creado será
//machacadao y si no, creará uno nuevo
$Galeria->asXML("negro.xml");
closedir($directorio); //cerramos el directorio
?>
Entonces, hay varias carpetas con imágenes y un php como este y lo que pretendo hacer es que desde otro php, dónde tengo como dije antes un array con las rutas de estos php, poder ejecutar todos los php del array y que hagan lo mismo, tomar un blanco.xml y crear un negro.xml
He probado poniendo a la hora de guardar el xml, lo siguiente:
Código:
$Imagenes->asXML("$actual/negro.xml");
Pero no resulta. Bueno, espero haberme explicado bien y puedan ayudarme.