我有一个具有以下格式的 xml 文件-
<?xml version="1.0"?>
<db>
<count></count>
<uid></uid>
<score></score>
</db>
我正在向我的 xml 文件中添加数千个项目。
我在 php 中使用 simplexml 来解析我的 xml。我正在打开这样的 xml 文件-
$result= new SimpleXMLElement($file, null, true);
并像这样关闭它-
file_put_contents($file, $data->asXML());
虽然当我在我的本地服务器上运行它时一切正常,但是当我在我的服务器上在线上传它时,它可以正常工作一段时间,一段时间后,它会附加在我的 xml 文件的末尾
<?xml version="1.0"?>
<db>
<count></count>
<uid></uid>
<score></score>
</db>
/score></db>
我得到一个解析错误-
在 xml 文件末尾附加不需要的数据
我很困惑出了什么问题,因为它在我的本地服务器上运行良好。是我的代码的错还是服务器的错?
编辑: 计数、uid 和分数是预先填充的。我只是更新分数。这是更新分数部分的代码-
$data= new SimpleXMLElement($file, null, true);
$winner=intval($data->score[$winid]);
$loser=intval($data->score[$loseid]);
$exp_winner=expected($loser,$winner);
$new_win=win($winner,$exp_winner);
$exp_loser=expected($winner,$loser);
$new_lose=loss($loser,$exp_loser);
$data->score[$winid]=$new_win;
$data->score[$loseid]==$new_lose;
file_put_contents($file, $data->asXML());