帝國CMS生成sitemap實(shí)現(xiàn)代碼分享
因?yàn)閷Φ蹏鳦MS的sitemap插件不太滿意,所以自己寫了個(gè)sitemap生成工具,在sitemap中放了首頁鏈接、欄目頁鏈接和內(nèi)容頁鏈接,然后生成XML文件并且提交到百度站長工具,本文中的代碼是需要生動(dòng)生成的,我自己是在Linux中用cron寫的定時(shí)任務(wù),每天固定時(shí)間生成一次,先這樣吧~
<?php
/*引用文件*/
require('e/class/connect.php');
require('e/class/db_sql.php');
require('e/data/dbcache/class.php');</p> <p>/*建立數(shù)據(jù)庫鏈接 與 實(shí)例化類*/
$link = db_connect();
$empire=new mysqlquery(); </p> <p>//header("Content-type:application/xml");
header("Content-type: text/html; charset=utf-8");</p> <p>$operation = $_GET['operation'];
$current_url = explode('/',$_SERVER['PHP_SELF']);
$current_script_name = end($current_url); </p> <p>if($operation && $operation == "makexml")
{
$xml = generate_sitemp_xml();
$result = save_xml('sitemap.xml',$xml);
if($result)
{
echo '生成成功,<a href="sitemap.xml">點(diǎn)此查看</a>';
}
else
{
echo '生成失敗,<a href="'.$current_script_name.'">在來一次</a>!';
}
}
else
{
echo '歡迎使用微笑的魚Sitemap生成工具,請<a href="'.$current_script_name.'?operation=makexml">點(diǎn)此生成</a>!';
}</p> <p></p> <p>
//保存到文件
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數(shù)據(jù)
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數(shù)據(jù)
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數(shù)據(jù)
function generate_home_xml()
{
$xml = '';
$xml .= ' <url>' .PHP_EOL;
$xml .= ' <loc>https://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;</p> <p>}</p> <p>/*關(guān)閉數(shù)據(jù)庫連接 與 釋放類*/
db_close();
$empire=null;
?>
文章來源:微笑的魚
上一篇:帝國CMS后臺(tái)風(fēng)格樣式修改方法
欄 目:帝國cms
下一篇:最簡單的帝國CMS網(wǎng)站轉(zhuǎn)移方法詳解
本文標(biāo)題:帝國CMS生成sitemap實(shí)現(xiàn)代碼分享
本文地址:http://www.jygsgssxh.com/a1/diguocms/12461.html
您可能感興趣的文章
- 05-31帝國CMS調(diào)用欄目自定義字段方法
- 05-31php獲取帝國CMS各種路徑的幾種方法
- 05-31帝國CMS靈動(dòng)標(biāo)簽無限嵌套方法
- 05-31帝國CMS會(huì)員地址 收藏夾地址 錯(cuò)誤舉報(bào)地址整理
- 01-11帝國CMS調(diào)用自定義列表名稱的方法(簡單二次開發(fā)實(shí)現(xiàn))
- 01-11帝國CMS 功能解密 網(wǎng)站安全防火墻使用說明
- 01-11帝國CMS在自定義列表中獲取當(dāng)前列表ID的方法
- 01-11帝國cms 頂踩 百分比 數(shù)字 完美顯示解決
- 01-11帝國下載系統(tǒng)2.5添加迅雷快車專用鏈的方法
- 01-11帝國CMS擴(kuò)展SQL程序編寫介紹


閱讀排行
本欄相關(guān)
- 05-31帝國CMS調(diào)用欄目自定義字段方法
- 05-31php獲取帝國CMS各種路徑的幾種方法
- 05-31帝國CMS靈動(dòng)標(biāo)簽無限嵌套方法
- 05-31帝國CMS會(huì)員地址 收藏夾地址 錯(cuò)誤舉報(bào)
- 01-11帝國CMS調(diào)用自定義列表名稱的方法(簡
- 01-11帝國CMS在自定義列表中獲取當(dāng)前列表
- 01-11帝國CMS 功能解密 網(wǎng)站安全防火墻使用
- 01-11帝國cms 頂踩 百分比 數(shù)字 完美顯示解
- 01-11帝國下載系統(tǒng)2.5添加迅雷快車專用鏈
- 01-11下載內(nèi)容頁顯示迅雷,快車加密地址標(biāo)
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置


