Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2008, 00:28
Ktulu
Invitado
 
Mensajes: n/a
Puntos:
Creación de XML con PHP (Problema con bucle)

Hola de nuevo.
Si bien la creación de un XML a partir de un PHP me funciona perfectamente tengo un problema con un bucle (arrastro esto desde la programación con Delphi y C++ )
La función de mi código: crear un XML a partir de los archivos en un directorio para generar una playlist de un reproductor en flash. Suponiendo que tenga 3 archivos en mi directorio:

El XML al que debo llegar:
Código PHP:
<?xml version="1.0" encoding="iso-8859-1"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <trackList>
        <track>
            <annotation>archivo1</annotation>
            <location>*****/***********/archivo1.mp3</location>
    </track>
         
        <track>
            <annotation>archivo2</annotation>
            <location>*****/***********/archivo2.mp3</location>
        </track>

    <track>
            <annotation>archivo3</annotation>
            <location>*****/***********/archivo3.mp3</location>
        </track>   
             
</playlist>
Mi triste (pero humilde) código:

Código PHP:
<?php

$path
="../images/stories/audios/";
$directorio=dir($path);

while (
$archivo $directorio->read())
{
    if (
$archivo!="." && $archivo!="..")
    {
        
$buffer='<?xml version="1.0" encoding="utf-8"?>
                <playlist version="1" xmlns="http://xspf.org/ns/0/">
                    <trackList>
                        <track>
                            <annotation>'
.$archivo.'</annotation>
                            <location>*****/***********/'
.$archivo.'</location>
                        </track>
                </playlist>'
;
    }
}
       
$name_file="archivo.xml";
       
$file=fopen($name_file,"w+");
       
fwrite ($file,$buffer);
       
fclose($file);
$directorio->close();
?>
El resultado :

Código PHP:
<?xml version="1.0" encoding="utf-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
    <track>
        <annotation>archivo3.mp3</annotation>
        <location>*****/***********/archivo3.mp3</location>
    </track>
</playlist>
Claro está que solo guarda la variable $archivo en su último valor asignado, pero sinceramente no puedo resolver el problema ya que es la primera vez que trabajo con XML, quien sepa decirme como resolver este ciclo será eternamente agradecido por un novato.
Gracias muchas.