`

PHP静态化之真静态化

阅读更多

参考文献: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 直接静态化和触发静态化

    "PHP 直接静态化和触发静态化"这个主题探讨了两种不同的静态化方法,这两种方法都可以提高网站或应用的响应速度,特别是对于那些经常被访问但数据很少变化的页面。 直接静态化是指在处理请求时,将生成的HTML内容...

    页面静态化之真静态

    真静态,顾名思义,就是将动态网页转化为静态HTML文件,用户请求时直接返回这些预生成的HTML,而不是通过服务器端的脚本语言如PHP、Java或ASP.NET实时生成内容。 真静态技术的核心在于将动态内容在后台运行时或用户...

    php页面静态化

    PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...

    PHP缓存与静态化——PHP缓存与静态化

    在构建高性能的Web应用时,PHP缓存与静态化扮演着至关重要的角色。它们能够显著提升网站的响应速度,减少服务器资源的消耗,尤其对于高流量的动态网站来说更是如此。下面将详细探讨这两个概念以及如何在PHP中实现...

    php实现页面静态化

    ### PHP 实现页面静态化详解 #### 一、概述 在现代Web开发中,提高网站性能和用户体验至关重要。其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两...

    php生成静态化实例

    "PHP生成静态化实例"这一主题涉及到的是通过PHP动态生成HTML页面并将其存储为静态文件的技术。这一过程通常被称为静态化或者静态网页生成,对于提高网站性能、减轻服务器压力以及优化搜索引擎排名等方面都有显著的...

    php 页面静态化

    php 页面静态化

    首页静态化步骤

    在Web开发中,首页静态化是常见的性能优化手段。 首先,我们需要了解动态首页和静态首页的区别。动态首页是由服务器端的脚本(如PHP、JSP或ASP.NET)实时生成的,每次请求都会根据数据库中的数据动态生成页面内容。...

    jsp静态化和伪静态化

    为了提高效率和用户体验,人们提出了页面静态化和伪静态化技术。 **页面静态化**是指将动态生成的HTML页面保存为静态文件,之后的用户请求不再通过服务器动态生成,而是直接读取这些静态文件,从而减轻服务器负担,...

    cms页面静态化源码

    标题“cms页面静态化源码”表明我们将探讨如何通过源代码实现CMS系统中的页面静态化功能。 在动态网站中,每当用户请求一个页面时,服务器都会执行相应的PHP、Java、Python或其它脚本语言,生成HTML内容,然后将其...

    页面静态化处理

    静态化CMS(内容管理系统)是实现这一技术的一种工具,它允许开发者或管理员在后台动态管理内容,系统会自动将这些内容生成为静态页面。以下是一些关键知识点: 1. **动态与静态网页的区别**: - 动态网页:基于...

    帝国cms TAG静态化插件.zip

    "帝国cms TAG静态化插件"是专门为这个系统设计的一款扩展插件,它的主要目标是实现TAG标签的静态化处理,以提升网站的加载速度和SEO优化。 在网站运营中,TAG标签是一种常用的内容组织方式,它能够将具有相似主题的...

    zblog全站静态化 1.5static.zip

    描述中的“php 旧插件修改”意味着这个插件是用PHP语言编写的,并且可能对原有的静态化功能进行了升级或优化,以适应当前的环境。 ZBlog是一款流行的开源博客系统,采用PHP语言开发,适合个人和企业建立自己的网站...

    php之静态化

    php之静态化

    rewrite文件,iis静态文件配置,php网站静态化文件

    `Rewrite`文件、IIS(Internet Information Services)静态文件配置以及PHP网站静态化文件是实现这一目标的关键技术环节。下面将详细解释这些概念及其在实际应用中的作用。 1. **Rewrite文件**: `Rewrite`文件...

    Emlog文章页静态化插件 v1.5.7

    1. 静态化原理:动态网页在用户访问时,服务器需要运行PHP等脚本语言生成页面,而静态HTML文件则直接由浏览器读取,无需额外处理。静态化插件通过将动态内容转换为静态HTML,减少了服务器的工作量。 2. 优势:全站...

    自定义分页类+页面静态化+php

    这里提到的"自定义分页类+页面静态化+PHP"是一个关于如何在PHP环境中实现高效且可定制化的分页功能,并结合页面静态化技术提升网站性能的实践案例。 首先,让我们详细了解一下自定义分页类。分页类通常包含了计算总...

    PHP实现使用页面静态化

    PHP实现页面静态化 一、 开发环境 ... 2、文本编辑器:Sublime 3。 二、主要技术 ... PHP页面静态化,是把那些内容不常变化的页面静态化,而...PHP静态化分为:纯静态化和伪静态化;纯静态化又分为:局部静态化和完全静态化。

    php静态化的类 实现静态页面

    php静态化的类,可以实现静态页面,可是实现对数据库更新,不过要根据你的具体需要做一些修改,如表和字段名及文件目录等。

Global site tag (gtag.js) - Google Analytics