A-A+

PHP更新文章时同时更新对应的HTML页面

2012年03月20日 编程技术 暂无评论

编辑文章时应该将其对应的Html静页面同时进行更新,下面来看一下“PHP更新文章时同时更新对应的Html页面”的思路,大致是这样的,执行的程序首先要将字段接受过来,这里有一个关键是有一个字段是保存Html的路径,接受过来之后,再将对应的模板打开,进行新内容的替换,重新生成Html。

下面是编辑时的执行程序:

[code lang="php"]
session_id())
{
header("location:admin.php");
}
require_once("../inc/conn.php");
$id=$_GET["id"];
if($_POST["Submit"])
{
$title=$_POST["title"];
$typeid=$_POST["typ"];
$sql="select * from newstype where newstypeid=$typeid";
$rs=mysql_query($sql);
$rows=mysql_fetch_assoc($rs);
$type=$rows["newstype"];
$content=$_POST["d_content"];
$source=$_POST["source"];
$path=$_POST["path"];
$time=$_POST["time"];
$root=$_SERVER['DOCUMENT_ROOT'];
$filepath="$root/newslist/$path";
if(file_exists($filepath))
{
$moban="$root/moban/moban.html";
$fp=fopen($moban,"r");
$str=fread($fp,filesize($moban));
fclose($fp);
$str=str_replace("{-type-}",$type,$str);
$str=str_replace("-title-",$title,$str);
$str=str_replace("-time-",$time,$str);
$str=str_replace("-content-",$content,$str);
$str=str_replace("-source-",$source,$str);
$fp=fopen($filepath,"w");
fwrite($fp,$str);
fclose($fp);
}
$sql="update newscontent set newstypeid=$typeid,newstitle=
'$title',newssource='$source' where newsid=$id";
if(mysql_query($sql))
{
?>

修改成功

返回

修改失败

返回


[/code]

其实只要想明白其中的原理了,也就不难理解了。刚开始的 if 语句不用管,是一个验证是否登陆的语句,如果没有admin的值,会跳转到 admin.php页面(上次发的源码里面没有这一句,这次加上了),require_once("../inc/conn.php");这句就是包含数据库连接的文件。$id=$_GET["id"];这个就是接受过来的新闻ID,一定要有这句,否则找不到要更新哪篇文章,下面的if语句就是当Submit接受的不为空的时候,将进行文章更新操作,数据库里面的更新好理解,只要有一条Updata语句即可,这里的关键在于中间的 if(file_exists($filepath)) 和下面执行的句子了,这里的意思是判断文章的路径是不是存在,如果存在的话就进行更新替换对应的html操作。进行替换这里依然用的是str_replace的函数。这些进行完以后,下面就有一个判断是否修改成功,很简单就不再阐述了。

标签:

给我留言