荟萃馆

位置:首页 > 计算机 > php语言

PHP生成SiteMap文件的代码

php语言5.5K

分享一例php生成sitemap地图文件的`代码,用于生成google sitemap地图,有需要的朋友参考学习下。

PHP生成SiteMap文件的代码

  生成sitemap文件

例子:

复制代码 代码示例:

<?php

/**

* 生成sitemap文件

* 平常在用的一段代码,分享给大家

* edit:

*/

require_once('');

$doc = new DOMDocument('1.0', 'utf-8'); // 声明版本和编码

$doc -> formatOutput = true; //格式XML输出

$sql="select mid from dede_member_company";

$query=mysql_query($sql);

$count=mysql_num_rows($query);

$pg=intval($count/3000);

if($count%3000)

$pg++;

$page=isset($_GET['page'])?$_GET['page']:1;

$getpageinfo=page($page,$count,3000);

$sql="SELECT `mid`,`uptime`,`html_path` FROM `dede_member_company` order by `mid` $getpageinfo[sqllimit]";

$query=mysql_query($sql);

$urlset = $doc -> createElement('urlset');

$xmlns = $doc -> createAttribute('xmlns');

$xmlnsvalue = $doc -> createTextNode("");

$xmlnsxsi = $doc -> createAttribute('xmlns:xsi');

$xmlnsxsivalue = $doc -> createTextNode("");

$schemaLocation = $doc -> createAttribute('xsi:schemaLocation');

$schemaLocationvalue = $doc -> createTextNode(" ");

$xmlns -> appendChild($xmlnsvalue);

$xmlnsxsi -> appendChild($xmlnsxsivalue);

$schemaLocation -> appendChild($schemaLocationvalue);

$urlset -> appendChild($xmlns);

$urlset -> appendChild($schemaLocation);

$urlset -> appendChild($xmlnsxsi);

while($row=mysql_fetch_array($query)){

$url = $doc -> createElement('url'); //创建一个标签

$loc = $doc -> createElement('loc'); //创建一个标签

$id = $doc -> createAttribute('id'); //创建一个属性

$newsid = $doc -> createTextNode($row[mid]); //设置属性内容

$newsco = $doc -> createTextNode($row[html_path]); //设置标签内容

$lastmod = $doc -> createElement('lastmod');

$modtime = $doc -> createTextNode(date('c',$row[uptime]));

$changefreq = $doc -> createElement('changefreq');

$freqtype = $doc -> createTextNode('daily');

$priority = $doc -> createElement('priority');

$prival = $doc -> createTextNode('0.5');

$id -> appendChild($newsid); //继承属性

$loc -> appendChild($id); //继承属性内容

$loc -> appendChild($newsco); //继承标签内容 //继承子类

$lastmod ->appendChild($modtime);

$changefreq ->appendChild($freqtype);

$priority ->appendChild($prival);

$url -> appendChild($loc);

$url -> appendChild($lastmod);

$url -> appendChild($changefreq);

$url -> appendChild($priority);

$urlset -> appendChild($url);

}

$doc -> appendChild($urlset);

$doc -> save("../map/sitemap_".$page."");

//=================================

if($page=="1"){

$main_sitemap = new DOMDocument('1.0', 'utf-8'); // 声明版本和编码

$main_sitemap -> formatOutput = true; //格式XML输出

$sitemapindex = $main_sitemap -> createElement('sitemapindex');

$xmlns = $main_sitemap -> createAttribute('xmlns');

$xmlnsvalue = $main_sitemap -> createTextNode("");

$sitemap = $main_sitemap -> createElement('sitemap'); //创建一个标签

$loc = $main_sitemap -> createElement('loc'); //创建一个标签

$id = $main_sitemap -> createAttribute('id'); //创建一个属性

$newsid = $main_sitemap -> createTextNode($page); //设置属性内容

$newsco = $main_sitemap -> createTextNode("http://youdomain/map/sitemap_".$page.""); //设置标签内容

$xmlns -> appendChild($xmlnsvalue);

$sitemapindex -> appendChild($xmlns);

$id -> appendChild($newsid); //继承属性

$loc -> appendChild($id); //继承属性内容

$loc -> appendChild($newsco); //继承标签内容

$sitemap -> appendChild($loc); //继承子类

$sitemapindex -> appendChild($sitemap);

$main_sitemap -> appendChild($sitemapindex);

$main_sitemap -> save("../");

}else{

$main_sitemap = new DOMDocument('1.0', 'utf-8'); // 声明版本和编码

$main_sitemap->preserveWhiteSpace = false;

$main_sitemap -> formatOutput = true; //格式XML输出

$main_sitemap->load("../");