看到 番薯藤 的 樂多網誌 速度飛快,原來也是使用靜態的 HTML 方式來呈現網誌內容。於是我決定把全站內容備份稍做改版,也做出靜態 HTML 格式的索引檔和內容檔。
我自己的輸出測試結果網址如下:
http://sky-heart.com/plog/html/輸出程式使用方法:
※ 將索引檔程式存成 plog_index.php,內容檔程式存成 plog_c.php,放在 pLog 安裝路徑下。
※ 在 pLog 安裝路徑下另外建立一個新目錄 html,權限設定為 755
※ 執行 plog_index.php, plog_c.php
※ 在瀏覽器上看結果,輸入你的網址後面加上/html/,例如:http://www.(你的網址名).com/plog/html/
索引檔程式如下(內容例如網誌名稱,編號等等請自行修改):
※ 2005.10.02 有做小修正,說明請看回覆文章
http://forum.lifetype.org.tw/index.php?topic=1124.from1128256464;topicseen#msg7135※ 2006.03.30 有網友到我的部落格指正錯誤並給予建議,因此做了修正,感謝 sam 網友。
-------------------------------------------------------------------------
<?php
if (!defined( "PLOG_CLASS_PATH" )) {
define( "PLOG_CLASS_PATH", dirname(__FILE__)."/");
}
include_once( PLOG_CLASS_PATH."config/config.properties.php" );
include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
// plog 的資料表字首
$strPlogPrefix = $config["db_prefix"];
// 輸出路徑,最後面要加斜線(目錄要設定為可讀寫,例如777)
$strArticleIndexPath = PLOG_CLASS_PATH."html/";
// 輸出檔名
$strOutput = "index.htm";
// 網誌名稱
$strBlogName = "White Cloud's Blog";
// 網誌編號
$strBlogNumber = "1";
// 放文章的變數
$strFileContent = <<<EOT
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh_TW" lang="zh_TW" dir="ltr">
<head>
<title>$strBlogName</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body><center>
<font size=6 color=green>$strBlogName</font>
<br>這是備份頁面,歡迎存檔慢慢欣賞 :-)<br><br>
EOT;
// $query = "SELECT * FROM plog_articles As a, plog_articles_text As at WHERE a.id=at.article_id AND a.blog_id = 1 ORDER BY a.date DESC";
$strTableArticleText = $strPlogPrefix."articles_text";
$strTableArticle = $strPlogPrefix."articles";
$strTableUsers = $strPlogPrefix."users";
$sql = "select * from $strTableArticleText,$strTableArticle ";
$sql = $sql."where $strTableArticleText.article_id = $strTableArticle.id ";
$sql = $sql."and $strTableArticle.blog_id = $strBlogNumber ";
$sql = $sql."and $strTableArticle.status = 1 ";
$sql = $sql."order by article_id desc";
$articles = new Articles();
$result = $articles->getBlogArticlesByQuery( $sql );
foreach( $result as $article ) {
$strId = $article->getId();
$strTopic = $article->getTopic();
$strText = $article->getText();
//$strAuthor = $article->getUser();
$strDate = $article->getDate();
// 由於改用 MySQL 4.1 的關係,取消此行
//$strDate = substr($strDate,0,4)."/".substr($strDate,4,2)."/".substr($strDate,6,2)." ".substr($strDate,8,2).":".substr($strDate,10,2).":".substr($strDate,12,2);
$strFileContent = $strFileContent.'<table width="80%" border="0"><tr><td>';
// $strFileContent = $strFileContent.$strArticleID;
// $strFileContent = $strFileContent."<br>";
// 2006.03.30 更新這行
$strFileContent = $strFileContent.'<a href=';
$strFileContent = $strFileContent.$strId.".html>";
$strFileContent = $strFileContent.'<font size=5><b>';
$strFileContent = $strFileContent.$strTopic;
$strFileContent = $strFileContent.'</b></font></a>';
$strFileContent = $strFileContent."<br>";
//$strFileContent = $strFileContent.$strAuthor;
//$strFileContent = $strFileContent." ";
//$strFileContent = $strFileContent.$strDate;
//$strFileContent = $strFileContent."<br><br>";
//$strFileContent = $strFileContent.$strText;
//$strFileContent = $strFileContent."<br><br>";
$strFileContent = $strFileContent."<td><tr><table>";
}
//2006.03.30 更新兩行
$strFileContent = $strFileContent."All content copyright (c) 2004 $strBlogName";
$strFileContent = $strFileContent."</center></body></html>";
// 輸出成為 HTML
//echo $strFileContent;
$fp = fopen($strArticleIndexPath.$strOutput, "w");
fputs($fp, $strFileContent);
fclose($fp);
header("Location: /plog/html/$strOutput");
//echo "OK";
?>