娜迦源码博客

分享一下帝国CMS生成sitemap实现代码

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

复制代码 
代码如下: 

/*引用文件*/ 
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 '生成成功,点此查看'; 

else 

echo '生成失败,在来一次!'; 


else 

echo '欢迎使用微笑的鱼Sitemap生成工具,请点此生成!'; 


//保存到文件 
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 .= '' .PHP_EOL; 
$xml .= '' .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 .= ' ' .PHP_EOL; 
$xml .= ' '.$titleurl.'' .PHP_EOL; 
$xml .= ' '.strftime('%Y-%m-%d',$r['newstime']).'' .PHP_EOL; 
$xml .= ' daily' .PHP_EOL; 
$xml .= ' 0.8' .PHP_EOL; 
$xml .= ' ' .PHP_EOL; 


$xml .= '' .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 .= ' ' .PHP_EOL; 
$xml .= ' '.$class_url.'' .PHP_EOL; 
$xml .= ' '.strftime('%Y-%m-%d',time()).'' .PHP_EOL; 
$xml .= ' daily' .PHP_EOL; 
$xml .= ' 0.8' .PHP_EOL; 
$xml .= ' ' .PHP_EOL; 



return $xml; 

//生成栏目链接XML数据 
function generate_home_xml() 

$xml = ''; 
$xml .= ' ' .PHP_EOL; 
$xml .= ' http://www.jb51.net' .PHP_EOL; 
$xml .= ' '.strftime('%Y-%m-%d',time()).'' .PHP_EOL; 
$xml .= ' daily' .PHP_EOL; 
$xml .= ' 0.8' .PHP_EOL; 
$xml .= ' ' .PHP_EOL; 

return $xml; 

/*关闭数据库连接 与 释放类*/ 
db_close(); 
$empire=null; 
?>

本文链接:https://www.wsx6.cn/post/896.html

版权声明:版权声明: 1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。 2:请勿将该源码、软件进行商业交易、转载等行为,该源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。 3:本网站所有源码和软件均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:393249296@qq.com)指出,本站将立即改正。

联系客服
网站客服 业务合作 Q交流群
673529708
返回顶部
请先 登录 再评论,若不是会员请先 注册