投稿が絶えず生成されている動的なサイトがあり、コード化されているため、新しい投稿が追加されるたびに、サイトマップのURLエントリがsitemap.xmlファイルの下部に追加されます。
$lastID = $db->lastInsertId();
$file = 'sitemap.xml';
$current = file_get_contents($file);
$current .= "<url>
<loc>http://website.net/viewpost.php?ID=".$lastID."</loc>
<changefreq>monthly</changefreq>
</url>";
file_put_contents($file, $current);
これは機能しますが、xmlファイルurlsetの終了タグはファイルの最後にある必要があります。したがって、このデータを追加すると、urlsetの後になり、これを文字列に追加した場合でも、これには複数の終了タグがあります。終了タグの後にファイルが移動しないようにファイルを更新するにはどうすればよいですか。サイトマップ全体を毎回再生成することは機能しますが、現時点ではほぼ100ページあり、データを取得するには複数のテーブルをクエリする必要があるため、大変な作業のようです。