I wanted to stream a XML file directly to the user and having him prompted to save it without displaying the content, but when using
<?php
$out =new XMLWriter();
$out->openURI('php://output');
?>
the user's browser was displaying the file contents instead of prompting the user with a filesave window.
To have the XML file stream saved directly to the user without being displayed by the browser, you shoud add:
<?php
header("Content-Type: text/html/force-download");
header("Content-Disposition: attachment; filename='file_name.xml'");
$out =new XMLWriter();
$out->openURI('php://output');
?>
This will prompt the user with a dialog box to save 'file_name.xml' on his disk, and will not display the content of the streamed XML.
XMLWriter->openURI
(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)
XMLWriter->openURI — Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet
Beschreibung
Objektorientiert:
XMLWriter
bool openURI
( string $uri
)
Prozedural:
resource xmlwriter_open_uri
( string $uri
)
Erzeugt einen neuen XMLWriter, der ein uri zum Erzeugen verwendet.
Parameter-Liste
- uri
-
Der Ressource-URI, der zur Ausgabe verwendet wird.
Rückgabewerte
Objektorientiert: Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE..
Prozedural: Gibt eine neue XMLWriter-Ressource zurück, die bei Erfolg für die späteren Funktionsaufrufe verwendet werden kann. Im Fehlerfall wird FALSE zurückgegeben.
XMLWriter->openURI
icepick dot pt at hotmail dot com
16-Mar-2009 09:13
16-Mar-2009 09:13
yankee at ignorethis dot cipher DASH code dot de
19-Nov-2007 06:46
19-Nov-2007 06:46
Want to write xml-data directly to the user instead of memory or file?
This will do:
<?php
$out =new XMLWriter();
$out->openURI('php://output');
?>
