Avatar billede straszek Praktikant
26. januar 2005 - 09:40 Der er 1 kommentar og
1 løsning

Gem output i fil

Til brug for at flash billed script har jeg brug for at få lavet en xlm fil.

XLM filen har dette format.

<?xml version="1.0" encoding="UTF-8"?>
<SIMPLEVIEWER_DATA maxImageDimension="480" textColor="0xFFFFFF" frameColor="0xFFFFFF" bgColor="0x181818" frameWidth="20" stagePadding="40" thumbnailColumns="3" thumbnailRows="3" navPosition="right" navDirection="LTR" title="Example Title" imagePath="" thumbPath="">


<IMAGE>
    <NAME>filnavn</NAME>
    <CAPTION>tekst</CAPTION>
</IMAGE>
</SIMPLEVIEWER_DATA>


Jeg kan godt lave et php script  der vil udskrive ovenstående, f.x.

$resultat = mysql_query("SELECT * from pic") or die(mysql_error());
while ($raekke = mysql_fetch_array($resultat)) {
extract($raekke);
echo"
<IMAGE>
    <NAME>$filnavn</NAME>
    <CAPTION>$tekst</CAPTION>
</IMAGE>";


}


Men hvordan får jeg gemt ouptuttet i en selvstændig fil som beskrevet ovenfor??
Avatar billede detox Nybegynder
26. januar 2005 - 09:52 #1
Fx:

<?
require 'db.php'; // Forbindelse til database
$out = '<?xml version="1.0" encoding="UTF-8"?>
<SIMPLEVIEWER_DATA maxImageDimension="480" textColor="0xFFFFFF" frameColor="0xFFFFFF" bgColor="0x181818" frameWidth="20" stagePadding="40" thumbnailColumns="3" thumbnailRows="3" navPosition="right" navDirection="LTR" title="Example Title" imagePath="" thumbPath="">';

$resultat = mysql_query("SELECT * from pic") or die(mysql_error());
while ($raekke = mysql_fetch_array($resultat)) {
extract($raekke);
$out .= "
<IMAGE>
    <NAME>$filnavn</NAME>
    <CAPTION>$tekst</CAPTION>
</IMAGE>";
}
$out .= "</SIMPLEVIEWER_DATA>";
$fp = fopen('fil.xml', 'wb');
fwrite($fp, $out);
fclose($fp);
echo "Fil er gemt";
?>
Avatar billede jakoba Nybegynder
26. januar 2005 - 10:17 #2
et alternativ (ikke bedre, men lidt nemmere at bruge)

se: http://dk2.php.net/ob_start

$navn_paa_fil = "navnpaafil.xml";  // ved brugerspecifikke data bør navnet være
                                // knyttet til brugerens session, ellers får
                                // alle brugere den fil

function skriv_til_fil( $buffer ) {
    $fp = fopen( $navn_paa_fil, "w" );
    fwrite( $fp, $buffer, 9999999 );
    fclose( $fp );
    return "";
}

ob_start( "skriv_til_fil" );

// her genererer du output til din xmlfil som i enhver anden php fil

ob_end_flush();  // afslut skrivning af xml filen

// her genererer du normal php side til browseren igen.

mvh JakobA
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester