本系統展示經典「動態管理、靜態發布」架構:後台管理文章存入 MySQL,前台根據模板生成靜態 HTML,降低資料庫負載,提升存取速度。
[後台管理介面] → [MySQL 資料庫] → [模板引擎] → [靜態 HTML 檔案] → [前台展示]
CREATE TABLE wenzhang (
id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
timu VARCHAR(200) NOT NULL, -- 標題
zuozhe VARCHAR(18) NOT NULL, -- 作者
laiyuan VARCHAR(40) NOT NULL, -- 來源
textt TEXT NOT NULL, -- 正文
riqi DATETIME NOT NULL, -- 日期
PRIMARY KEY (id)
);
input.php簡單表單送至 shengcheng.php,欄位:標題、作者、來源、正文。
muban.php / muobanshen.php將頁面拆解為三段模板儲存為文字檔:
muoban1.txt:標題前區塊(含 CSS/JS 引入、Header)muoban2.txt:正文前區塊(文章標題、作者、來源、時間)muoban3.txt:正文後區塊(Footer、版權資訊)<?php
// muobanshen.php 存檔模板
$fdd = fopen("muoban1.txt", "w"); fwrite($fdd, $_POST['muban1']); fclose($fdd);
$fdd = fopen("muoban2.txt", "w"); fwrite($fdd, $_POST['muban2']); fclose($fdd);
$fdd = fopen("muoban3.txt", "w"); fwrite($fdd, $_POST['muban3']); fclose($fdd);
echo "模板修改成功!";
?>
guanli.php 片段<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("study", $db);
// 更新文章資料
if (isset($_POST['submit'])) {
$sql = "UPDATE wenzhang SET timu='$timu', zuozhe='$zuozhe', laiyuan='$laiyuan', textt='$textt' WHERE id=$id";
mysql_query($sql);
// 組合靜態頁
$t = date("Y-m-d H:i:s");
$muoban1 = file_get_contents("muoban1.txt");
$muoban2 = file_get_contents("muoban2.txt");
$muoban3 = file_get_contents("muoban3.txt");
$content = $muoban1 . $muoban2;
$content .= "<div align='center'>作者:$zuozhe 來源:$laiyuan 時間:$t</div>";
$content .= $textt . $muoban3;
// 寫入靜態檔
$filename = "article_$id.html";
file_put_contents($filename, $content);
echo "靜態頁生成成功:$filename";
}
?>
mysqli_real_escape_string()。htmlspecialchars()。0755 目錄、0644 檔案)。此系統雖屬早期實作,但其「資料分離、模板驅動、靜態輸出」核心思想仍是現代 CMS 與靜態生成器的基石。