1.数据库里建立以下字段:
Titie(文章标题)
Content(文章内容)
Path(html文件路径)
2.在表单form提交title和content。之后存入数据库
3.建立一个model.html来进行下列操作
Model示意源代码:
<html>
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>
这里{title}与{content}是一起写进去的。之后利用替换来替换内容
4.动态产生html文件的php文件add.php示意代码如下:
<?php
连接数据库
$title=$_POST["title"];//获取表单变量
$content=$_POST["content"]; //获得表单变量
//以下建立一文本文档,其值自动计数
$countfile="count.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w"); //如果此文件不存在,则自动建立一个
}
$fp=fopen($countfile,"r"); //用只读的方法打开刚刚建立的txt文档
$num=fgets($fp,20); //读取里面20字节的内容(如果没有这么多就按照有多少读多少的来)
$num=$num+1; //每次其值自动加一
fclose($fp);
$fp=fopen($countfile,"w");
fwrite($fp,$num); //更新其值
fclose($fp);
//利用上面自动计数的值获得HTML的路径$path
$Suffix=”.html”;
$path=$num.$Suffix;
//这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1
//以下用SQL语句添加数据至表 news
$sql=””;
$query=mysql_query($sql);
//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
$fp=fopen("model.htm","r"); //只读打开模板
$str=fread($fp,filesize("mode.htm"));//读取模板中内容
$str=str_replace("{title}",$title,$str);
$str=str_replace("{content}",$content,$str);//替换内容
fclose($fp);
$handle=fopen($path,"w"); //写入方式打开新闻路径
fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
//收尾工作:
?>
总结:就是利用replace和file函数来进行巧妙的替换设计。达到生成静态页面的效果。