PHP删除文章时同时删除生成的HTML页面
添加文章时生成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投稿,转载请注明出处。
分享到: