Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/10/2008, 14:50
Noja33
 
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Ejecutar los .php de un directorio mediante PHP

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.

Última edición por Noja33; 22/10/2008 a las 15:20