首先、谈谈如何解决静态Html如何更新点击次数的问题。
PHP跟ASP都是一样的道理,想要在静态Html里面显示动态内容,就只能把动态内容封装起来,然后再进行调用,下面是我写的一个PHP更新点击数的例子,在下面这个文件里将点击数更新封装成一个PHP文件,最后以JS形式输出,这样就可以通过JS将动态点击数输出到静态文件里面了,PHP更新点击的源码如下:
< ?php
include("global.php");
$row=$art->get_row($id);
mysql_query("update `".PRE."article` set `hits`=`hits`+1 where id=".intval($row[’id’])) or die (showmsg("更新点击数出现错误!"));
$rows=mysql_fetch_assoc(mysql_query($sql="select * from doorsjk_article where id=".intval($row["id"])));
$str=$rows["hits"];
?>
< ?php
echo "document.write(’".$str."’);\n";
?>
include("global.php");这句是包含的连接数据库文件,$row=$art->get_row($id);这句是接受过来的ID,已经做成类来调用了,得到的就是接受过来的ID,下面的就很容易理解了,就是将数据表的字段hits添加1,而最后的echo就是将新的hits输出出来。
使用时只需要将更新次数的PHP文件包含进来即可
<script language=javascript src=/include/news.php?id=".$row[’id’]."></script>
静态页面还可以调用文本等来进行更新点击的次数,这里的例子是点击数的字段保存在数据库里面的,也是大多数都使用的方法。
其次、分享一下PHP删除文章时同时删除生成的HTML页面的实现方法。
大家都知道我们在删除文章记录时同时删除掉已生成的HTML静态页面,下面来看看PHP文章系统里面如何同时删除掉生成的HTML静态页面,这里只是一个简单的原理系统,可以作为一个参考,更成熟系统可以参考比较成熟的CMS系统,下面是源码文件。
< ?php
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语句是读取的目录,不需要深入理解。
总之,PHP网站静态化后在访问速度和网站推广上都有好处,不过也会出现一些对应的问题,只有我们正确解决这些问题,才能使网站更加健康的发展下去。