参考文献:http://blog.sina.com.cn/s/blog_66aa1142010114lc.html
采用了动态服务器技术生成静态HTML的做法,这样做的好处是:一是能减轻其服务器的负担,二是因为生成了HTML静 态页面,所以其网站被搜索引擎搜索到的机率更大一些。因此,在这里,想简单地谈一下这种做法的思路
静态化分真静态(2#)和伪静态(3#),下面只介绍真静态(因为我练习的就是真静态,伪静态就期待下期博客吧)。
真静态实现
(1)在MYSQL里新建一数据库,命名为 test(可自定义),新建一表,命名为 news(因为是新闻发布嘛,取个好记的名字即可,可自定
义),然后建立这几个字段名:
id (自动递增,这是关键,类型:INT)
title (顾名思义,新闻标题,类型可取 TEXT)
content (新闻内容,类型可取 TEXT)
path (HTML文件路径,类型可取 TEXT)
create_time(日期时间类型,可取int) (原博客没有这个,后面程序也用不到这个字段)
(2)建立 conn.php (这个我省了,直接在处理程序里加进行了)
(3)设计添加新闻的表格 add.form 简单的源代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<form method="post" action="add.php">
新闻标题:<input type="text" name="title" size="20"><br>
新闻内容:<textarea name="content" cols="30" rows="5"></textarea><br>
<input type="submit" name="submitbutton" value="提交">
</form>(原博客稍微修改下)
4)建立一个 HTML 的模板,另存为model.htm,和 add.php可以在同一目录下。
示例源代码:
<html>
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>
}大括号内的内容即是要被替换的内容,整个静态模板的设计可以根据自己的思路,但{ }内被替换的内容必须包含在内,如上面的{title},
{content};设计好一个很好看的新闻模板后,把要被替换的如{title},{content}等标记放到需要的地方就可以了撒。
(5)详解 add.php 源码
<?php
//require_once("conn.php");
$dbhost = 'localhost';
$dbuser = 'root'; //我的用户名
$dbpass = ''; //我的密码
$dbname = 'test'; //我的mysql库名
$connect = mysql_connect($dbhost,$dbuser,$dbpass,$dbname);
if ($connect) {
//echo "非常好,成功了!)";
//echo '<pre>';
//print_r($_POST);
$title = $_POST['title'];
$content = $_POST['content'];
$create_time = time();
//以下建立一文本文档,其值自动计数
$countfile="count.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w"); //如果此文件不存在,则自动建立一个
}
$fp=fopen($countfile,"r");
$num=fgets($fp,20);
$num=$num+1; //每次其值自动加一
fclose($fp);
$fp=fopen($countfile,"w");
fwrite($fp,$num); //更新其值
fclose($fp);
//利用上面自动计数的值获得HTML的路径$path
$houzui=".html";
$path=$num.$houzui;
//打开数据库
mysql_select_db($dbname,$connect);
$sql = "insert into news set title='".$title."',content='".$content."',path='".$path."',create_time='".$create_time."'";
$result=mysql_query($sql,$connect)or die(mysql_error());
if($result){
//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
$fp=fopen("model.htm","r"); //只读打开模板
$str=fread($fp,filesize("model.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);
//收尾工作:
echo "<a href='".$path."' target=_blank>查看刚才添加的新闻</a>";
}else{
echo 'bbb数据插入失败!';
}
} else {
echo "不好意思,失败了!";
}
?>
效果: 点击链接 查看刚才添加的新闻 后的效果是:
此新闻的标题:dd1122 此新闻的内容:dd1122
数据表效果:
11 | dd1122 | dd1122 | 6.html | 1397397342 |
// 心得: 当用户每增加一条新的记录的时候,插入数据库,并生成一个新的html文件(比如6.html);这样用户读取的是文无需来回数据库读取,优点是效率高时间短,缺点是生成太多的html文嘉影响硬盘
相关推荐
"PHP 直接静态化和触发静态化"这个主题探讨了两种不同的静态化方法,这两种方法都可以提高网站或应用的响应速度,特别是对于那些经常被访问但数据很少变化的页面。 直接静态化是指在处理请求时,将生成的HTML内容...
真静态,顾名思义,就是将动态网页转化为静态HTML文件,用户请求时直接返回这些预生成的HTML,而不是通过服务器端的脚本语言如PHP、Java或ASP.NET实时生成内容。 真静态技术的核心在于将动态内容在后台运行时或用户...
PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...
在构建高性能的Web应用时,PHP缓存与静态化扮演着至关重要的角色。它们能够显著提升网站的响应速度,减少服务器资源的消耗,尤其对于高流量的动态网站来说更是如此。下面将详细探讨这两个概念以及如何在PHP中实现...
### PHP 实现页面静态化详解 #### 一、概述 在现代Web开发中,提高网站性能和用户体验至关重要。其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两...
"PHP生成静态化实例"这一主题涉及到的是通过PHP动态生成HTML页面并将其存储为静态文件的技术。这一过程通常被称为静态化或者静态网页生成,对于提高网站性能、减轻服务器压力以及优化搜索引擎排名等方面都有显著的...
php 页面静态化
在Web开发中,首页静态化是常见的性能优化手段。 首先,我们需要了解动态首页和静态首页的区别。动态首页是由服务器端的脚本(如PHP、JSP或ASP.NET)实时生成的,每次请求都会根据数据库中的数据动态生成页面内容。...
为了提高效率和用户体验,人们提出了页面静态化和伪静态化技术。 **页面静态化**是指将动态生成的HTML页面保存为静态文件,之后的用户请求不再通过服务器动态生成,而是直接读取这些静态文件,从而减轻服务器负担,...
标题“cms页面静态化源码”表明我们将探讨如何通过源代码实现CMS系统中的页面静态化功能。 在动态网站中,每当用户请求一个页面时,服务器都会执行相应的PHP、Java、Python或其它脚本语言,生成HTML内容,然后将其...
静态化CMS(内容管理系统)是实现这一技术的一种工具,它允许开发者或管理员在后台动态管理内容,系统会自动将这些内容生成为静态页面。以下是一些关键知识点: 1. **动态与静态网页的区别**: - 动态网页:基于...
"帝国cms TAG静态化插件"是专门为这个系统设计的一款扩展插件,它的主要目标是实现TAG标签的静态化处理,以提升网站的加载速度和SEO优化。 在网站运营中,TAG标签是一种常用的内容组织方式,它能够将具有相似主题的...
描述中的“php 旧插件修改”意味着这个插件是用PHP语言编写的,并且可能对原有的静态化功能进行了升级或优化,以适应当前的环境。 ZBlog是一款流行的开源博客系统,采用PHP语言开发,适合个人和企业建立自己的网站...
php之静态化
`Rewrite`文件、IIS(Internet Information Services)静态文件配置以及PHP网站静态化文件是实现这一目标的关键技术环节。下面将详细解释这些概念及其在实际应用中的作用。 1. **Rewrite文件**: `Rewrite`文件...
1. 静态化原理:动态网页在用户访问时,服务器需要运行PHP等脚本语言生成页面,而静态HTML文件则直接由浏览器读取,无需额外处理。静态化插件通过将动态内容转换为静态HTML,减少了服务器的工作量。 2. 优势:全站...
这里提到的"自定义分页类+页面静态化+PHP"是一个关于如何在PHP环境中实现高效且可定制化的分页功能,并结合页面静态化技术提升网站性能的实践案例。 首先,让我们详细了解一下自定义分页类。分页类通常包含了计算总...
PHP实现页面静态化 一、 开发环境 ... 2、文本编辑器:Sublime 3。 二、主要技术 ... PHP页面静态化,是把那些内容不常变化的页面静态化,而...PHP静态化分为:纯静态化和伪静态化;纯静态化又分为:局部静态化和完全静态化。
php静态化的类,可以实现静态页面,可是实现对数据库更新,不过要根据你的具体需要做一些修改,如表和字段名及文件目录等。