php[world] 2015 Call for Speakers



(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter->openURI -- xmlwriter_open_uriErzeugt neuen XMLWriter, der URI für Ausgabe verwendet


Objektorientierter Stil

bool XMLWriter::openURI ( string $uri )

Prozeduraler Stil

resource xmlwriter_open_uri ( string $uri )

Erzeugt einen neuen XMLWriter, der ein uri zum Erzeugen verwendet.



Der Ressource-URI, der zur Ausgabe verwendet wird.


Objektorientierter Stil: Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben..

Prozeduraler Stil: 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.

Siehe auch

add a note add a note

User Contributed Notes 3 notes

Lukas Knuth
4 years ago
If you're facing problems on Windows Servers running PHP 5.3 and newer, where this function quits with an "Unable to resolve file path" Error, here is a Workaround which isn't posted on the Bug site yet:

Add this before you use the openURI()-function:

$uri = realpath($uri);

This Bug appears in the following cases:

$xml->openURI('file.xml'); -> ok!
$xml->openURI('../file.xml'); -> ok!
$xml->openURI('xml/file.xml'); -> DON'T WORK!
$xml->openURI('../xml/file.xml'); -> DON'T WORK!
icepick dot pt at hotmail dot com
6 years ago
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

=new XMLWriter();

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:

("Content-Type: text/html/force-download");
header("Content-Disposition: attachment; filename='file_name.xml'");
$out =new XMLWriter();

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.
yankee at ignorethis dot cipher DASH code dot de
7 years ago
Want to write xml-data directly to the user instead of memory or file?
This will do:
=new XMLWriter();
To Top