添加文章時產生HTML靜態頁面,但如果要刪除文章,添加文章時產生的HTML靜態頁面也應該同時刪除掉,否則就成了冗餘檔案,所以我們應該在刪 除沒用的文章時,同時刪除掉已產生的HTML靜態頁面,下面來看看PHP文章系統裡面如何同時刪除掉產生的HTML靜態頁面,這裡只是一個簡單的原理系 統,可以作為一個參考,更成熟系統可以參考比較成熟的CMS系統,下面是源碼檔案。
ob_start();
require_once("../inc/conn.php");
$id=$_GET["id"];
$path=$_GET["path"];
$sql="delete from newscontent where newsid=$id";
mysql_query($sql);
if(file_exists("../newslist/$path"))
{
unlink("../newslist/$path");
$foldername=substr($path,0,10);
$folder=fopen("../newslist/$foldername");
$n=0;
while($f=readdir($folder))
{
if($f<>"." && $f<>"..")
{
$n++;
}
}
closedir();
if($n==0)
{
rmdir("../newslist/$foldername");
}
}
header("location:del.php");
?>
這些代碼比較容易理解,ob_start();開啟緩衝,require_coce("../conn.php");包含資料庫連接檔案,下面的變 量$id,$path都是接受傳過來的頁面,這兩個值是在列表頁面裡面傳遞過來的,再往下執行的是SQL的刪除語句,先將資料庫裡面的文章進行刪除掉,下 面的if語句是刪除靜態頁面的重要判斷語句,如果$path存在的話,用unlink刪除掉。而這裡的while語句是讀取的目錄,不需要深入理解。
一個完善的文章產生HTML靜態頁面的系統應該是,添加文章時同時產生靜態HTML檔案,更新文章時也同時進行更新產生的HTML靜態頁面,刪除時 同時刪除掉已產生的HTML靜態頁面,更新時重建靜態頁面這裡就不介紹了,跟添加文章是一個道理,就是判斷文章的$path,然後對應重建就行, 但要給靜態檔案寫入的許可權,否則更新不了,刪除靜態HTML文章也要給足許可權,否則會出錯。
本文原創來自:http://www.60ie.net/article/5/248.html投稿,轉載請註明出處。
http://www.bkjia.com/PHPjc/371898.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/371898.htmlTechArticle添加文章時產生HTML靜態頁面,但如果要刪除文章,添加文章時產生的HTML靜態頁面也應該同時刪除掉,否則就成了冗餘檔案,所以我們應...