[PHP, XML, XSLT] Aanbieden .xml bestand

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Had een beetje moeite met de topictitel, maar denk dat ik het via een extra uitleg wel helder kan maken:

Wat heb ik,

- Een php bestandje waarin een ander php bestand wordt aangeroepen met een GET variabele
- Dit doel php bestandje gebruikt de GET variabele om een XML bestand te generen, stuurt allereerst een header om de browser te informeren dat deze xml moet weergeven, om vervolgens de XML te outputten. Binnen deze xml output wordt een XSLT aangeroepen om het XML bestand op te maken, zodat de gebruiker "mooi" opgemaakte data krijgt gepresenteerd.

Dit werkt allemaal fantastisch, wat ik echter nog wil toevoegen is een knopje/linkje die ervoor zorgt dat er een .xml bestandje ter download wordt aangeboden, waar eventueel de link naar de XLST is uitgehaald.

Mijn idee was, en dat lukt me ook wel om te maken, om het php bestand opnieuw aan te roepen met een toevoeging aan de GET waardoor het script weet dat dit keer een .xml bestand moet worden terug gegeven... maaaaar hoe zorg ik er nou voor dat dit XML bestand niet wordt weergegeven in de browser maar ter download wordt aangeboden?

thx alvast!

Verwijderd

Dat is een header kwestie. Volgens mij zou onderstaande moeten werken. Anders heb je in ieder geval een richting waar je naar toe kan werken...

PHP:
1
header("Content-Disposition: attachment; filename=gegenereerdbestand.xml");

Verwijderd

Topicstarter
ok klinkt goed! Kan dat ook on-the-fly? Ik heb namelijk niet het fysieke xml document omdat die wordt gegenereerd door php.

Verwijderd

Verwijderd schreef op donderdag 21 december 2006 @ 17:54:
ok klinkt goed! Kan dat ook on-the-fly? Ik heb namelijk niet het fysieke xml document omdat die wordt gegenereerd door php.
Ja, dat kan. Bedenk even hoe een HTTP request precies werkt. Er worden eerst HTTP headers doorgestuurd, met daarna de "message body", in dit geval je complete XML bestand. Als je alleen maar een extra HTTP header toevoegt, hoef je verder dus niets bijzonders te wijzigen.

Verwijderd

Topicstarter
Thx voor de feedback, het is gelukt, door het zetten van een extra GET variabele vertel ik het script dat de file ter download moet worden aangeboden, de naam in de header is dan de naam zoals de webserver het bestand aanbiedt, erg super, want nu heeft de gebruiker de indruk een "echt" XML bestand te downloaden, in de zin van dat deze fysiek aanwezig is op de server.