php静态化html网页原理

PHP页面的静 态化很有必要,尤其是在 CMS 系统中,一些内容一旦生成,基本上不会有变化,这时如果用 html 将页面静态 化,无疑会减少服务其解析PHP 页面的负担

create.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>htmlphp</title>
</head>
<body>
<form action="toStatic.php" method="post">
标题:<input type="text" name="headline" /><br />
内容:<textarea name="content"></textarea>
<input type="submit" value="提交" />
</form>
</body>
</html>
toStatic.php
<?php

//Replace函数用于将从模版文件中读取的内容中的关键字替换成变量中的内容

function Replace($row, $headline = '', $content = '')

{

//替换参数中的关键字

$row = str_replace("%headline%", $headline, $row);

$row = str_replace("%content%", $content, $row);

//返回替换后的结果

return $row;

}

//主程序

$connection = mysql_connect("localhost", "root", "123456") or die(mysql_error());

$db_select=mysql_select_db("test") or die("没有连接上数据库".mysql_error());

//新添加的文章信息

$headline = $_POST['headline'];

$content = $_POST['content'];

//echo $headline;
//
//print_r($_POST);

//生成文件名,这里用日期时间

$filename = 'S'.date("YmdHis").'.html';

//执行SQL语句

$sql = "insert into artile(id,headline,content,filename)values(null,'$headline', '$content', '$filename')";

$res = mysql_query($sql);

//根据SQL执行语句返回的bool型变量判断是否插入成功

if($res){

//模版文件指针

$f_tem = fopen("template.html","r");

//生成的文件指针

$f_new = fopen($filename,"w");

//循环读取模版文件,每次读取一行

while(!feof($f_tem))

{

$row = fgets($f_tem);

//替换读入内容中的关键字

$row = Replace($row, $headline, $content);      

//将替换后的内容写入生成的HTML文件

fwrite($f_new, $row);     

}

//关闭文件指针

fclose($f_new);

fclose($f_tem);

//提示

echo "OK!";

}else{

echo "Failed!";
}
mysql_close();

?>
template.html

<html>

<head>

<title>%headline%</title>

</head>

<body>

<div id = "headline">%headline%</div>

<div id = "content">%content%</div>

</body>

</html>
数据库结构
CREATE TABLE IF NOT EXISTS `artile` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`headline` varchar(255) CHARACTER SET utf8 NOT NULL,
`content` varchar(255) CHARACTER SET utf8 NOT NULL,
`filename` varchar(255) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值