程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP刪除文章時同時刪除生成的HTML頁面

PHP刪除文章時同時刪除生成的HTML頁面

編輯:關於PHP編程

    添加文章時生成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投稿,轉載請注明出處。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved