<?php

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 "数据读取成功!<br />";

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

//urlset

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

$dom->appendchild($urlset);

echo "开始为xml加载数据。<br />";

//$attribute_array=array();

foreach ($data_array as $data) {

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

$urlset->appendchild($url);

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

}

echo "数据加载完毕。<br />";

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

echo "sell_sitemap create success!<br />";

echo "size:".changeFileSize($filesize)."<br />";

echo "<a href='javascript:window.history.back();'>go back</a><br />";

echo "<a href='../sitemaps/sell_sitemap.xml' target='_blank'>view it</a>";

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;

}

?>

php生成百度站点地图sitemap.xml的更多相关文章

  1. WordPress免插件生成完整站点地图(sitemap.xml)的php代码

    让这个代码更加完善,可以同时生成首页.文章.单页面.分类和标签的 sitemap! 一.PHP 代码 <?php require('./wp-blog-header.php'); header( ...

  2. 织梦后台如何生成站点地图sitemap.xml

    第一步在网站根目录建立sitemap.php文件 内容如下: 写一个计划任务文件命名为generate_sitemap.php,放在/plus/task目录里,文件内容如下: <?php//定时 ...

  3. 分享一个在线生成站点地图SiteMap制作工具

    站点地图SiteMap的好处是很大的,对Seo很有好处,能够更方便.迅速的让搜索引擎收录.WordPress 有不少生成Google Sitemap 的工具,但是有些只是针对WordPress的系统的 ...

  4. [Asp.net]站点地图SiteMap

    原文:[Asp.net]站点地图SiteMap 引言 在项目中发现使用站点地图的控件,之前没总结过这方面的东西,就写了一个demo测试了一下,这里记录一下,算是总结吧. Web.sitemap < ...

  5. 创建Google网站地图Sitemap.xml

    Sitemap.xml是google搞出来的,也就是网站地图,不过这个网站地图是用xml写的,而且要按google的标准来写,并且要将写出来的这个文件sitemap.xml上传到自己的服务器空间中去. ...

  6. 关于ASP.NET 中站点地图sitemap 的使用

    在ASP.NET  MVC 如此火热的时期,我竟然不适时宜的谈起ASP.NET ,恐怕会引来一阵嘲笑.最为无趣的是,讲解的竟然还是其中的一个控件.oh~~  my god!my out! ^_^ Si ...

  7. Dynamics CRM2011/2013 站点地图sitemap的翻译

    实体.属性字段.ribbon等的翻译可以通过解决方案来解决(具体可见我前面的博客:http://blog.csdn.net/vic0228/article/details/37690913),但解决方 ...

  8. 自动生成百度小程序sitemap.txt文件路径

    因为业务需要,需要在目前项目上开发一个百度小程序,百度智能小程序上线了,但是内容每天得推送,不可能一个小程序路径一个推送吧,因为小程序路径和项目路径不一致. 因为项目是用ThinkPHP开发的,在此附 ...

  9. 网站地图sitemap.xml的格式

    URL列表—XML格式及规范说明: 标签名称  属性  标签说明  标签类型  标签限制  可选/必选  urlset  / urlset用来标记整个文档的开头  /  /  必选  url  / u ...

随机推荐

  1. 关于MySQL

    DBMS - 数据库管理系统(Database Management System) RDBMS - 关系数据库管理系统(Relational Database Management System) ...

  2. 最短JS判断是否为IE6(IE的写法) (转)

    常用的 JavaScript 检测浏览器为 IE 是哪个版本的代码,包括是否是最人极端厌恶的 ie6 识别与检测. 代码如下: var isIE = !!window.ActiveXObject; v ...

  3. OTP【转】

    转自:http://baike.baidu.com/link?url=58z3oZfEMvNRiDUmWrxtzfDhv--UZ1jaW4rBHg1d9kIWd6HQaYZ96DH8QAFopSZBK ...

  4. SQL —— 一些需要注意的地方(持续更新)

    TRUNCATE 只适用全表,没有 WHERE 语句 rownum < N 不能和 group by 一起使用 NULL 值通常会限制索引.在创建表时对某一列指定 NOT NULL 或 DEFA ...

  5. task判断任务是否存在

    tasklist|find /i "qq.exe" ||exit taskkill /im qq.exe /f

  6. hdu 4405 Aeroplane chess(简单概率dp 求期望)

    Aeroplane chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. android异步任务详解 AsynTask

    android提供了一套专门用于异步处理的类.即:AynsTask类.使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回. 其实,AsynTask类就是对Thread类的一个封装,并且加入了 ...

  8. js,正则应用

    //获取URL中的request参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + ...

  9. mac 安装使用 webp 来压缩图片

    学习性网站: https://developers.google.com/speed/webp/docs/cwebp http://www.w3ctech.com//topic/1672 https: ...

  10. 部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

    网站上的一些文件不希望用户访问,可以通过下面的方式简单实现.不需写代码(在IIS6下试验过). 第一步,在IIS中实现映射. 哪些文件需要特殊处理. 通俗的将就是将哪种类型的文件交给特定的工厂来处理. ...