该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
生成静态文件除了2楼所说的ob缓存方法之外,还有一种方法就是通过使用模板替换技术实现(正则表达式)
header("content-type:text/html;charset=utf-8");
//处理添加、修改、删除请求
//1.接收一下oper
$oper=$_REQUEST['oper'];
if($oper=="add"){
//接收title,content
$title=$_POST['title'];
$content=$_POST['content'];
//1.把数据放入到mysql, 同时创建一个html
//添加到数据库 SqlHelper.class.php
$conn=mysql_connect("localhost","root","1234abcd");
if(!$conn){
die("连接失败");
}
mysql_select_db("news",$conn);
mysql_query('set names utf8');
$sql="insert into news (title,content) values('$title','$content')";
if(mysql_query($sql,$conn)){
//获取刚刚插入数据的id号
$id=mysql_insert_id();
$html_filename="news_id".$id.".html";
//echo "文件名=".$html_filename;
//创建html文件
$fp=fopen("news.tpl","r");
$html_fp=fopen($html_filename,"w");
//思路->tmp->html 逐行读取template.tpl文件,然后逐行替换
while(!feof($fp)){
//读取一行.
$row=fgets($fp);
//含义是 用 $title的内容替换 $row中的 %title%
$row=str_replace("%title%",$title,$row);
$row=str_replace("%content%",$content,$row);
//把替换后的一行写入到html文件
fwrite($html_fp,$row);
}
//关闭文件流
fclose($fp);
fclose($html_fp);
echo "添加到数据库并成功创建html文件返回列表";
}else{
die('添加失败');
}
mysql_close($conn);
}
代码来源:韩顺平php系列视频教程之 页面静态化技术 培训笔记