红穆笔记
首頁 程序筆記 帝國利用PHP生成sitemap文件
程序筆記 帝國cms

帝國利用PHP生成sitemap文件

帝国利用PHP生成sitemap文件

這個代碼可以拿去直接用,但是有一點需要注意,如果網站文章太多了,那就需要修改部分代碼,百度好像規定了sitemap裏面的鏈接條數的。太多了不太友好

sitemap代碼

<?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 10000";
 $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()
{
global $public_r; 
 $xml = '';
 $xml .= '  <url>' .PHP_EOL;
 $xml .= '    <loc>'.$public_r[newsurl].'</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;
?>

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

帝国CMS数据库语句&amp;SQL语句格式

帝國CMS數據庫語句&amp;SQL語句格式 程序筆記 帝國cms

帝國CMS擴展SQL程序編寫介紹,帝國CMS數據庫語句&SQL語句格式基本範例:說明:下面例子都是以PHP文件放在系統根目錄爲基準。例1:連接MYSQL程序。(a.php)&lt;?php require('e/class/connect.php'); //引入數據庫配置文件和公共函數文件 requ…
👁 353
帝国CMS获取系统COOKIE变量函数getcvar()

帝國CMS獲取系統COOKIE變量函數getcvar() 程序筆記 帝國cms

取得系統COOKIE變量函數語法:getcvar($var,$ecms)說明:$var:爲變量名$ecms:0爲設置前臺COOKIE變量,1爲設置後臺COOKIE變量。此參數可省略,默認爲0。使用範例:getcvar('mlusername'),取得前臺登陸會員的用戶名getcvar('loginu…
👁 296
帝国CMS灵动标签调用字段大全

帝國CMS靈動標籤調用字段大全 程序筆記 帝國cms

將所有支持靈動標籤調用的字段收集歸類帝國CMS靈動標籤: [e:loop={欄目ID/專題ID,顯示條數,操作類型,只顯示有標題圖片,附加SQL條件,顯示排序}] 模板代碼內容 [/e:loop]調用時間:&lt;?=date('m-d',$bqr[newstime])?&gt; &lt;?=dat…
👁 3749

推薦閱讀

高等院校学院学校类网站模板 0831

高等院校學院學校類網站模板 0831 實用收藏 易優模板

一款針對高等院校與學院學校的eyoucms網站模板。設計風格教育莊重,能夠展示學校概況、院系設置、招生信息及校園文化。有助於大學院校在線上吸引學生,提升品牌形象。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CMS(Ey…
👁 46
响应式学校院校学院网站模板 0832

響應式學校院校學院網站模板 0832 實用收藏 易優模板

此套eyoucms響應式模板適用於學校、院校與學院類機構,設計風格教育專業,能夠展示學校環境、教學成果、招生信息及校園新聞。有助於教育機構在線上吸引學生與家長。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CMS(Eyo…
👁 56
响应式理工实验外语学校学院网站模板 0833

響應式理工實驗外語學校學院網站模板 0833 實用收藏 易優模板

一款針對理工、實驗、外語與學校學院的eyoucms響應式網站模板。設計風格科技教育,能夠展示實驗室設施、外語教學、科研成果及招生信息。有助於理工外語類院校在線上展示特色。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CM…
👁 53
资源网站typecho001模板

資源網站typecho001模板 程序筆記 Typecho

typecho001模板板本請勿修改本模板文件夾名稱 文件夾名稱爲:typecho001 1.4修復文章頁面js輸出問題1.3修復未安裝插件時的報錯提示優化列表頁代碼輸出1.2修復評論功能增加自定義首頁標題1.1修復評論回覆不對稱功能添加首頁單獨的標題設置功能增加網站favicon.ico圖標增加一…
👁 199
职业教育技术学院学校网站模板 0834

職業教育技術學院學校網站模板 0834 實用收藏 易優模板

此套eyoucms模板適用於職業教育與技術學院學校,設計風格專業教育,能夠展示職業教育課程、實訓基地、就業服務及招生信息。有助於職業院校在線上吸引學生,提升品牌知名度。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CMS…
👁 52
typecho分页样式的修改

typecho分頁樣式的修改 程序筆記 Typecho

大人,時代變了!目前typecho最完美的解決方案了,因爲百度只能看到固定思維的代碼。實際生成的html代碼,乾淨到讓人窒息完全的自定義,包括給li元素加上class,給a元素加上class,給上一頁下一頁加上class,去除typecho自帶用於表示更多的li標籤。甚至裏面的內容我也能添加一些文字…
👁 517