PHP:SimpleXML编写问题

时间:2013-01-06 06:28:44

标签: php xml simplexml

我正在使用SimpleXML写入Apache服务器上的XML文件。这是我的PHP代码:

<?php
  $xmlFile = 'http://localhost/database.xml';
  //$xml = new SimpleXMLElement($xmlFile, NULL, TRUE);
  $xml = simplexml_load_file($xmlFile);
  $xml->addChild("User", "TestUser2");
  file_put_contents($xmlFile, $xml->asXML());
?>

我的XML文件代码:

<Usernames>
  <User>TestUser1</User>
</Usernames>

我遇到的问题是SimpleXML不会写入我的XML文件。我尝试了很多不同的方法($xml->asXML($xmlFile), DOMDocument ... ->save),但没有一种方法可行。我更改了文件的权限,而STILL我无法写入:

Permissions

我今天花了好几个小时试图让这个工作没有成功。如果有人有任何类型的解决方案,那么听起来会很棒。

1 个答案:

答案 0 :(得分:3)

将内容写入文件时,应将系统文件路径作为第一个变量传递,$ xmlFile变量是URL。将其更改为本地文件名,它应该保存。

根据您的评论,以下内容应该有效

<?php
  $xmlFile = 'http://localhost/database.xml';
  $xml = simplexml_load_file($xmlFile);
  $xml->addChild("User", "TestUser2");
  file_put_contents('/Applications/MAMP/htdocs/DataBase/database.xml', $xml->asXML());

但是,我会仔细检查$ xmlFile URL - 从你所说的,你的本地URL可能是http://localhost/DataBase/database.xml - 你应该检查你是否可以使用$ xmlFile URL在Safari中打开你的XML文件。 / p>