PHP中BB生成sitemap地圖文件的方法

PHP中BB生成sitemap地圖文件的方法

日期:2023-03-09 16:29:18    编辑:网络投稿    来源:互联网

PHP中BB生成sitemap地圖文件的方法  本文介紹下,在PHPBB論壇中生成sitemap地圖文件的實現代碼,感興趣的朋友參考學習下。  將以下PHP文件放到網站的根目錄。  加入此sit

PHP中BB生成sitemap地圖文件的方法

  本文介紹下,在PHPBB論壇中生成sitemap地圖文件的實現代碼,感興趣的朋友參考學習下。

  將以下PHP文件放到網站的根目錄。

  加入此sitemap的前提:

  必須將PHPBB論壇的默認URL規格改成以下文件里生成的格式。

  具體方法,請參考:

  http://www.jbxue.com/article/13591.html

  注意:

  紅色部分的'代碼,修改成自己網站對應的內容:

  復制代碼 代碼示例:

  <?php

  // By: Arlinger On 2012-6-4

  //

  // CUSTOM INSTALLATION VARIABLES:

  $subdomain='www.';

  $domain=' '; //這里要改成你的網站名

  $folder='/forum/'; //這里要改成你把博客所在的文件夾的名字

  $urls=50000;

  // Change Nothing Below Here:

  $domainpath='http://'.$subdomain.$domain.$folder;

  // Connect

  define('IN_PHPBB', true);

  $phpbb_root_path = './';

  $phpEx = substr(strrchr(__FILE__, '.'), 1);

  include($phpbb_root_path . 'config.' . $phpEx);

  include($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);

  $db = new $sql_db();

  $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false);

  // Gzip compression

  if (@extension_loaded('zlib') && !headers_sent())

  {

  ob_start('ob_gzhandler');

  }

  // Send Header

  header("Content-Type: text/xml;charset=iso-8859-1");

  // Send initial Data

  echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";

  echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n";

  // Send Index

  $current_time=time();

  echo '<url>

  <loc>'.$domainpath.'</loc>

  <lastmod>'.date("Y-m-d\TH:i:sP",$current_time).'</lastmod>

  </url>';

  $urls=$urls-1;

  // Send Forums

  $sql = 'SELECT forum_id, forum_last_post_time FROM '.$table_prefix.'forums WHERE enable_indexing=1 LIMIT '.$urls;

  $result = $db->sql_query($sql);

  while ($data=$db->sql_fetchrow($result)) {

  // Fix for parents forums showing 1969

  if ($data['forum_last_post_time'] == 0) {

  $data['forum_last_post_time']=$current_time;}

  echo '<url>

  <loc>'.$domainpath.'viewforum-'.$data['forum_id'].'.html'.'</loc>

  <lastmod>'.date("Y-m-d\TH:i:sP",$data['forum_last_post_time']).'</lastmod>

  </url>';

  $urls=$urls-1;

  }

  $db->sql_freeresult($result);

  // Send Topics

  $sql = 'SELECT * FROM '.$table_prefix.'topics as t, '.$table_prefix.'forums as f WHERE t.topic_approved=1 AND t.forum_id=f.forum_id AND f.enable_indexing=1 ORDER BY t.topic_id DESC LIMIT '.$urls;

  $result = $db->sql_query($sql);

  while ($data=$db->sql_fetchrow($result)) {

  echo '<url>

  <loc>'.$domainpath.'viewtopic-'.$data['topic_id'].'.html'.'</loc>

  <lastmod>'.date("Y-m-d\TH:i:sP",$data['topic_last_post_time']).'</lastmod>

  </url>';

  }

  $db->sql_freeresult($result);

  // Send Closing Tags

  echo ' </urlset>';

  ?>

【PHP中BB生成sitemap地圖文件的方法】相關文章:

PHP中讀取大文件的方法09-02

PHP中讀取大文件實現方法09-05

PHP中讀取大文件實現方法詳解09-23

PHP生成Excel報表的方法09-08

PHP生成樹的方法介紹08-24

php讀取文件內容的方法09-08

PHP讀取文件的正確方法09-04

PHP生成縮略圖的方法09-11

PHP生成Excel報表的方法介紹09-04

PHP生成隨機密碼的方法09-03