<?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. slot signal机制

    有一个比较 经典的实现:http://sigslot.sourceforge.net/很精简的 signal slot的实现,跨平台.webrtc项目在用,我在自己项目里也用了.这个源码有2000多行 ...

  2. 验证工具类 - ValidateUtils.java

    验证工具类,提供验证email格式.是否ipv4.是否ipv6.是否中文.是否数字.正则表达式验证的方法. 源码如下:(点击下载 - ValidateUtils.java .commons-lang- ...

  3. curl 查看网站连接情况

    curl -o /dev/null -s -w "nslookup_time :%{time_namelookup}\n time_connect: %{time_connect}\ntim ...

  4. leetcode:Palindrome Linked List

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...

  5. Android Wear开发者预览配置过程

    第一步Android SDK Manager 中 1.升级Android SDK Tools到22.6+版本2.Android 4.4.2 下 安装 Android Wear ARM EABI v7a ...

  6. UVa 11093 Just Finish it up

    从第一个加油站开始枚举起点,如果到第i个加油站油量不够的话,那么1~i个加油站都不可能是起点. 将第i+1个加油站作为起点继续枚举. 比如说,第一个加油站开始最多跑到第5个加油站,那么第二个加油站不可 ...

  7. 51nod1215 数组的宽度

    傻叉单调栈 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> ...

  8. svn备份脚 本

    一直用这套脚本备份,脚本主体虽不是原创,但是从网上得到后因为不能运行也进行了些修改,前两天看到有人问关于SVN备份的问题,今天又把脚本整理了一下,解决了不能循环备份多个配置库的问题.希望对大家有所帮助 ...

  9. 20160128.CCPP体系详解(0007天)

    以下内容有所摘取,进行了某些整理和补充 论浮点数的存储原理:float浮点数与double浮点数的二进制存储原理–>阶码 浮点数转二进制 1.整数int类型和浮点数float类型都是占用4个字节 ...

  10. (六) 语言模型 Language Madel 与 word2vec

    语言模型简介(Language Model) 简单的说,语言模型 (Language Model) 是用来计算一个句子出现概率的模型,假设句子  ,其中  代表句子中的第  个词语,则语句 W 以该顺 ...