XMLWriter::openURI
(No version information available, might be only in CVS)
XMLWriter::openURI — Create new xmlwriter using source uri for output
Описание
Object oriented style:
XMLWriter
bool openURI
( string $uri
)
Procedural style:
resource xmlwriter_open_uri
( string $uri
)
Creates a new XMLWriter using uri for the output.
Список параметров
- uri
-
The URI of the resource for the output.
Возвращаемые значения
Object oriented style: Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки..
Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.
- XMLWriter::endAttribute
- XMLWriter::endCData
- XMLWriter::endComment
- XMLWriter::endDocument
- XMLWriter::endDTDAttlist
- XMLWriter::endDTDElement
- XMLWriter::endDTDEntity
- XMLWriter::endDTD
- XMLWriter::endElement
- XMLWriter::endPI
- XMLWriter::flush
- XMLWriter::fullEndElement
- XMLWriter::openMemory
- XMLWriter::openURI
- XMLWriter::outputMemory
- XMLWriter::setIndentString
- XMLWriter::setIndent
- XMLWriter::startAttributeNS
- XMLWriter::startAttribute
- XMLWriter::startCData
- XMLWriter::startComment
- XMLWriter::startDocument
- XMLWriter::startDTDAttlist
- XMLWriter::startDTDElement
- XMLWriter::startDTDEntity
- XMLWriter::startDTD
- XMLWriter::startElementNS
- XMLWriter::startElement
- XMLWriter::startPI
- XMLWriter::text
- XMLWriter::writeAttributeNS
- XMLWriter::writeAttribute
- XMLWriter::writeCData
- XMLWriter::writeComment
- XMLWriter::writeDTDAttlist
- XMLWriter::writeDTDElement
- XMLWriter::writeDTDEntity
- XMLWriter::writeDTD
- XMLWriter::writeElementNS
- XMLWriter::writeElement
- XMLWriter::writePI
- XMLWriter::writeRaw
Коментарии
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');
?>
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.
Reproduced on Windows:
If you get an exception when you try to handle the created file (rename, move etc.) you should unset the XMLWriter instance.
In other case you'll get an exception because the XMLWriter process holds access to this file.
<?php
$xml = new XMLWriter();
$xml->openUri(...)
...
$xml->flush();
unset($xml); //important!