您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php生成静态页面程序与原理分析_PHP教程

2024/2/22 22:05:41发布25次查看
生成静态页面是php中来减少服务器负载与seo网站优化一个不错的选择,所以php生成静态页面功能是几乎所有php程序员必须了解并掌握的一个知识点,下面我来给大家介绍php生成静态页面原理分析吧,有需要了解的朋友可进入参考。
生成html原理分析
我们把要生成的标签写成一个模板文件,然后再利用php读取把指定标签替换成我们要替换 内容就可以了,现在主流的dedecms系统也是这么做的
生成静态页面代码。
模板即尚未填充内容html文件。例如:
 代码如下 复制代码
temp.html
{ title }
this is a { file } filearray;s templets
templetest.php
这样一个超简单的php生成静态页面的功能就实现了,但实现应用中这个不实用的,下面我介绍一个从数据库到生成实例。
1.创建测试数据库test,建立user表如下(自己插入几条测试数据库):
 代码如下 复制代码
create table if not exists `news` (
  `id` int(10) not null auto_increment,
  `title` varchar(128) default null,
  `content` text,
  `time` int(10) default null,
  primary key (`id`)
) engine=innodb  default charset=utf8 auto_increment=12 ;
2.建立连接数据文件conn.php
代码如下 复制代码
getmessage();
 }
?>
3.显示新闻列表(news.php),注意,其连接为静态html连接,这时还没生成,当然链接打不开:
代码如下 复制代码
添加文章
query($sql) as $row){
  echo {$row['title']}----修改文章
;
 }
?>
4.添加修改文章页面:
代码如下 复制代码
query($sql)->fetch();
 }
?>
标题:
内容:=@$res['content']?>
5.用于生成静态文件的页面模板template.html
 代码如下 复制代码
{title}
{title}发表于{time}
{content}
6.action.php当然是用来生成和更新静态文件的:
 代码如下 复制代码
query($sql);
  $id = $dbh->lastinsertid();
  $filename = news_{$id}.html;
  $fp_tmp = fopen(template.html,r);
  $fp_html = fopen($filename,w);
  while(!feof($fp_tmp)){
   $row = fgets($fp_tmp);
   $row = replace($row,$title,$content,date('y-m-d h:i:s',$time));
   fwrite($fp_html,$row);
  }
  fclose($fp_tmp);
  fclose($fp_html);
  echo 添加成功并生成静态文件;
 }else{
  $sql = update news set title = $title , content = $content ,time = $time where id ={$_post['id']};
  $dbh->query($sql);
  $filename = news_{$_post['id']}.html;
  @unlink($filename);
  $fp_tmp = fopen(template.html,r);
  $fp_html = fopen($filename,w);
  while(!feof($fp_tmp)){
   $row = fgets($fp_tmp);
   $row = replace($row,$title,$content,date('y-m-d h:i:s',$time));
   fwrite($fp_html,$row);
  }
  fclose($fp_tmp);
  fclose($fp_html);
  echo 更新成功并更新静态文件;
 }
 //逐行替换函数
  function replace($row,$title,$content,$time){
   $row=str_replace({title},$title,$row);
   $row=str_replace({content},$content,$row);
   $row=str_replace({time},$time,$row);
   return $row;
 }
?>
这样一个完整生php生成静态页面的系统就完成了。
http://www.bkjia.com/phpjc/633071.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/633071.htmltecharticle生成静态页面是php中来减少服务器负载与seo网站优化一个不错的选择,所以php生成静态页面功能是几乎所有php程序员必须了解并掌握的一个...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product