词条信息

admin
admin
超级管理员
最近编辑者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> 帝国CMS   

帝国CMS生成sitemap代码分享

标签: 帝国cms sitmap

顶[0] 发表评论(0) 编辑词条

  因为对帝国CMS的sitemap插件不太满意,所以自己写了个sitemap生成工具,在sitemap中放了首页链接、栏目页链接和内容页链接,然后生成XML文件并且提交到百度站长工具,本文中的代码是需要生动生成的,我自己是在Linux中用cron写的定时任务,每天固定时间生成一次。

<?php  
/*引用文件*/ 
require('e/class/connect.php');
require('e/class/db_sql.php');
require('e/data/dbcache/class.php');
/*建立数据库链接 与 实例化类*/ 
$link = db_connect();  
$empire=new mysqlquery();  
//header("Content-type:application/xml");
header("Content-type: text/html; charset=utf-8");
$operation = $_GET['operation'];
$current_url = explode('/',$_SERVER['PHP_SELF']);  
$current_script_name = end($current_url);  
if($operation && $operation == "makexml")
{
 $xml = generate_sitemp_xml();
 $result = save_xml('sitemap.xml',$xml);
 if($result)
 {
  echo '生成成功,<a href="sitemap.xml">点此查看</a>'; 
 }
 else
 {
  echo '生成失败,<a href="'.$current_script_name.'">在来一次</a>!'; 
 }
}
else
{
 echo '欢迎使用微笑的鱼Sitemap生成工具,请<a href="'.$current_script_name.'?operation=makexml">点此生成</a>!'; 
}
 
 
//保存到文件
function save_xml($filename, $text) {
 if (!$filename || !$text)
  return false;
  
   @chmod($filename,0777);
 if ($fp = fopen($filename, "w")) {
  if (@fwrite($fp, $text)) {
   fclose($fp);
   return true;
  } else {
   fclose($fp);
   return false;
  } 
 } 
    return false;
} 
//生成Sitemap XML数据
function generate_sitemp_xml()
{
 global $dbtbpre,$empire;
  
 $xml = '';
 $xml .= '<?xml version="1.0" encoding="utf-8"?>' .PHP_EOL;
 $xml .= '<urlset>' .PHP_EOL;
 $xml .= generate_home_xml();//首页
 $xml .= generate_class_xml();//栏目
  
 $query="select * from {$dbtbpre}ecms_news order by id desc limit 100";
 $sql=$empire->query($query);
 while($r=$empire->fetch($sql))
 {
  $titleurl=sys_ReturnBqTitleLink($r);
   
  $xml .= '  <url>' .PHP_EOL;
  $xml .= '    <loc>'.$titleurl.'</loc>' .PHP_EOL;
  $xml .= '    <lastmod>'.strftime('%Y-%m-%d',$r['newstime']).'</lastmod>' .PHP_EOL;
  $xml .= '    <changefreq>daily</changefreq>' .PHP_EOL;
  $xml .= '    <priority>0.8</priority>' .PHP_EOL;
  $xml .= '  </url>' .PHP_EOL;
   
 }
 $xml .= '</urlset>' .PHP_EOL; 
  
 return $xml;
}
//生成栏目链接XML数据
function generate_class_xml()
{
 global $dbtbpre,$empire,$class_r;
 $xml = '';
   
 $sql=$empire->query("SELECT * FROM {$dbtbpre}enewsclass WHERE islast=1");
 while($r=$empire->fetch($sql))
 {
  $infor=$empire->fetch1("SELECT newstime FROM {$dbtbpre}ecms_".$class_r[$r[classid]][tbname]." WHERE classid='$r[classid]' ORDER BY newstime DESC LIMIT 1");
  $class_url=sys_ReturnBqClassname($r, 9);
   
  $xml .= '  <url>' .PHP_EOL;
  $xml .= '    <loc>'.$class_url.'</loc>' .PHP_EOL;
  $xml .= '    <lastmod>'.strftime('%Y-%m-%d',time()).'</lastmod>' .PHP_EOL;
  $xml .= '    <changefreq>daily</changefreq>' .PHP_EOL;
  $xml .= '    <priority>0.8</priority>' .PHP_EOL;
  $xml .= '  </url>' .PHP_EOL;
   
 }
  
 return $xml;
}
//生成栏目链接XML数据
function generate_home_xml()
{
 $xml = '';
 $xml .= '  <url>' .PHP_EOL;
 $xml .= '    <loc>http://www.jb51.net</loc>' .PHP_EOL;
 $xml .= '    <lastmod>'.strftime('%Y-%m-%d',time()).'</lastmod>' .PHP_EOL;
 $xml .= '    <changefreq>daily</changefreq>' .PHP_EOL;
 $xml .= '    <priority>0.8</priority>' .PHP_EOL;
 $xml .= '  </url>' .PHP_EOL;
  
 return $xml;
}
/*关闭数据库连接 与 释放类*/ 
db_close();  
$empire=null;
?>

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇dedecms后台登陆空白
下一篇dedecms数据连接失败

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>