php生成站点地图,php生成百度站点地图sitemap.xml

这段代码展示了如何使用PHP连接数据库,查询数据,并生成一个包含1000条记录的百度站点地图(sitemap.xml)。它设置了内容类型为UTF-8,通过DOMDocument创建XML结构,填充URL、最后修改日期、更新频率和优先级等信息。
摘要由CSDN通过智能技术生成

header("Content-type:text/html;charset=utf-8");

//php生成百度站点地图sitemap.xml

//http://www.baidu.com/search/sitemaptools_help.html

include("../config.inc.php");

mysql_connect($CFG['db_host'] ,$CFG['db_user'],$CFG['db_pass']) or die('数据库连接错误!');

mysql_select_db($CFG['db_name']);

mysql_query("set names utf8");

$p=$CFG['tb_pre'];

//查询并获取数据

$query="select `linkurl`,`editdate` from `{$p}table` where `status`='3' order by `itemid` desc limit 1000";

$result=mysql_query($query);

$m=0;

while($info=mysql_fetch_array($result,MYSQL_ASSOC)){

$data_array[$m]['loc']='http://www.example.net/aaa/'.$info['linkurl'];

$data_array[$m]['lastmod']=$info['editdate'];

$data_array[$m]['changefreq']='daily';

$data_array[$m]['priority']='0.8';

$m++;

}

echo "数据读取成功!
";

$dom=new DomDocument('1.0', 'utf-8');

//urlset

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

$dom->appendchild($urlset);

echo "开始为xml加载数据。
";

//$attribute_array=array();

foreach ($data_array as $data) {

$url = $dom->createElement('url');

$urlset->appendchild($url);

create_item($dom, $url, $data, $attribute_array);

}

echo "数据加载完毕。
";

$filesize=$dom->save("../sitemaps/sell_sitemap.xml");

echo "sell_sitemap create success!
";

echo "size:".changeFileSize($filesize)."
";

echo "go back
";

echo "view it";

function create_item($dom, $item, $data, $attribute) {

if (is_array($data)) {

foreach ($data as $key => $val) {

//  创建元素

$$key = $dom->createElement($key);

$item->appendchild($$key);

//  创建元素值

$text = $dom->createTextNode($val);

$$key->appendchild($text);

if (isset($attribute[$key])) {

//  如果此字段存在相关属性需要设置

foreach ($attribute[$key] as $akey => $row) {

//  创建属性节点

$$akey = $dom->createAttribute($akey);

$$key->appendchild($$akey);

// 创建属性值节点

$aval = $dom->createTextNode($row);

$$akey->appendChild($aval);

}

}   //  end if

}

}   //  end if

}   //  end function

function changeFileSize($filesize)

{

if($filesize >= 1073741824)

{

$filesize = round($filesize / 1073741824  ,2) . ' Gb';

} elseif($filesize >= 1048576)

{

$filesize = round($filesize / 1048576 ,2) . ' Mb';

} elseif($filesize >= 1024)

{

$filesize = round($filesize / 1024, 2) . ' Kb';

} else

{

$filesize = $filesize . ' Bytes';

}

return $filesize;

}

?>

来源:https://www.cnblogs.com/songzhenghe/p/4567986.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值