您好我有这个PHP脚本生成XML站点地图文件。 Google不允许站点地图拥有超过50,000条记录(即网址) - 但我有超过一百万条记录。我正在考虑进行循环,但需要弄清楚如何将此脚本生成的XML输出保存到自己的站点地图xml文件中,例如。 sitemap0_to_50000.xml
谢谢!对于这个新手PHP编码器的任何帮助将不胜感激:)
<?php
$databaseServer = "localhost";
$databaseUsername = "username";
$databasePassword = "password";
$databaseName = "database";
$databaseTable = "tablename";
header("Content-Type: text/xml");
function xmlentities($text)
{
$search = array('&','<','>','"','\'');
$replace = array('&','<','>','"',''');
return str_replace($search,$replace,$text);
}
print chr(60)."?xml version='1.0' encoding='UTF-8'?".chr(62);
print chr(60)."urlset xmlns='http://www.google.com/schemas/sitemap/0.84' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd'".chr(62);
$sql = "SELECT * FROM `".$databaseTable."`";
$link = @mysql_connect($databaseServer,$databaseUsername,$databasePassword);
@mysql_select_db($databaseName,$link);
$result = mysql_unbuffered_query($sql,$link);
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
// create the loc (URL) value based on the $row array, for example:
$loc = $row["url"];
print "<url>";
print "<loc>".xmlentities($loc)."</loc>";
print "</url>";
}
print "</urlset>";
?>
答案 0 :(得分:1)
您可以直接将其写入PHP中的Xml文件
,而不是将其回显到页面上或者你也可以使用php中的 saveXML()函数将完整的DOM树保存到文件中
你可以在这里找到完整的文档
http://php.net/manual/en/domdocument.savexml.php
希望它有所帮助!