XMLWriter 函数
在线手册:中文 英文
PHP手册

XMLWriter::openURI

xmlwriter_open_uri

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

XMLWriter::openURI -- xmlwriter_open_uriCreate new xmlwriter using source uri for output

说明

面向对象风格

bool XMLWriter::openURI ( string $uri )

过程化风格

resource xmlwriter_open_uri ( string $uri )

Creates a new XMLWriter using uri for the output.

参数

uri

The URI of the resource for the output.

返回值

面向对象风格: 成功时返回 TRUE, 或者在失败时返回 FALSE.

过程化风格: Returns a new xmlwriter 资源(resource) for later use with the xmlwriter functions on success, FALSE on error.

参见


XMLWriter 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Create new xmlwriter using source uri for output

用户评论:

Lukas Knuth (07-May-2011 05:08)

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:

<?php
touch
($uri);
$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 (16-Mar-2009 09:13)

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.

yankee at ignorethis dot cipher DASH code dot de (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');
?>