如何将文本写入XML文件?
,当我使用的fopen我收到以下错误某些原因:如何将文本写入XML文件?
未能打开流:HTTP包装不支持/examplefolder/examplefile.php
写连接当我使用这个:
<?php
$myFile = "http://url.com/" . $_COOKIE['user'] . "/current_pro_pic.xml";
$xmlw = new XMLWriter;
$xmlw->setIndent(true);
$xmlw->startDocument('1.0', 'UTF-8');
$xmlw->startElement('user_current_pro_pic');
$xmlw->writeElement('full_url', "<![CDATA[sometexthere*]]>");
$xmlw->writeElement('time', date('l F jS Y ') . 'at' . date(' h:i A'));
$xmlw->endElement();
$xmlw->endElement();
$xmlw->endElement();
$xmlw->endDocument();
?>
它吐出了这一点:
Warning: XMLWriter::setIndent() [xmlwriter.setindent]: Invalid or unitialized XMLWriter object in *** on line 4
Warning: XMLWriter::startDocument() [xmlwriter.startdocument]: Invalid or unitialized XMLWriter object in *** on line 5
Warning: XMLWriter::startElement() [xmlwriter.startelement]: Invalid or unitialized XMLWriter object in ***p on line 6
Warning: XMLWriter::writeElement() [xmlwriter.writeelement]: Invalid or unitialized XMLWriter object in *** on line 7
Warning: XMLWriter::writeElement() [xmlwriter.writeelement]: Invalid or unitialized XMLWriter object in *** on line 8
Warning: XMLWriter::endElement() [xmlwriter.endelement]: Invalid or unitialized XMLWriter object in *** on line 9
Warning: XMLWriter::endElement() [xmlwriter.endelement]: Invalid or unitialized XMLWriter object in *** on line 10
Warning: XMLWriter::endElement() [xmlwriter.endelement]: Invalid or unitialized XMLWriter object in *** on line 11
Warning: XMLWriter::endDocument() [xmlwriter.enddocument]: Invalid or unitialized XMLWriter object in *** on line 12
有谁知道为什么会发生这种情况?它不是文件权限,也不是fyi。
标准从网页获取,总是只读。服务器得到一个问题,并向您发送答案。如果你想写XML,你需要发布它,或者将它作为get的变量发送(后者是空间受限的)
我该怎么做明智的代码? – 2011-04-01 22:47:06
看看http://uk2.php.net/manual/en/function.http-post-data.php 正如Pekka建议,如果该网站是你自己的,你可以直接做到本地文件,但是,假设你通过URL调用它,你可能没有直接访问..后会是要走的路 – BugFinder 2011-04-01 22:51:31
我通过不使用“http:// www ...等解决了这个问题”谢谢你的帮助! – 2011-04-01 23:24:19
你不能通过使用http url来引用它来编写文件。即使该文件位于同一台服务器上,也必须将文件系统路径指定给该文件。
必须调用像openMemory的开放*方法之一,openUri
$xmlw = new XMLWriter;
$xmlw->openUri('path_to_save');
// ... or
$xmlw->openMemory();
// ... youe code
$xmlw->setIndent(true);
// ...
您需要使用的文件路径,而不是一个URL的。 – 2011-04-01 22:48:04