次の形式のxmlファイルがあります-
<?xml version="1.0"?>
<db>
<count></count>
<uid></uid>
<score></score>
</db>
xml ファイルに何千もの項目を追加しています。
私はxmlを解析するためにphpでsimplexmlを使用しています。私はこのような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());