php页面静态化技术;学习笔记

<!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>demo</title>

</head>
<body>
        <p style="color: #ff9000;">%demo%</p>
</body>
</html>

这是需要替换的页面

PHP页面的静态化很有必要,尤其是在CMS系统中,一些内容一旦生成,基本上不会有变化,这时如果用html将页面静态化,无疑会减少服务其解析PHP页面的负担。以下是看书学来的PHP静态化技术,记录之以备不时之需。

无论是利用框架还是简单的脚本,原理基本一致:就是利用PHP进行文件操作,替换html模板中的动态元素,不仅能提高用户的访问速度还能让php与html分离,使代码更具有维护性。

用到的文件操作函数:

fopen()          --------------------       打开一个文件  函数有两个参数: 1.打开文件的路径和文件名  2.打开文件所用的模式(字符串形式)   这里用到了r 和 w r代表只读 w代表只写

feof()             --------------------       读取文件直到文件末尾    这个函数会在读取到文件的末尾返回true  那么就可以用while知道何时读完文件;函数有一个参数,1.打开的文件指针

fwiter()         --------------------         写入文件内容,函数有三个参数:1.写入的文件名称  2.写入的内容  3.(可选) 写入的最大字符数

fclose()   ------------------------  关闭文件;一般做完所有操作后必须关闭文件;

注意事项: 需要注意文件的路径;以及读取文件所需要的权限  ;

php代码:

<?php
header("Content-type:text/html,charset=utf-8");
/******php静态化*******/
    class textHtml{
        public function fwriteHtml($r){
            /*php页面静态化技术
             *$r [array];
             *route=>生成文件名称及路径
             *html=>需要读取的静态资源
             *stsyem=>要替换的标签
             *content=>标签替换的内容
             * */

            $cfill = fopen($r["html"],"r");//读取的文件名
            $cfillnew = fopen($r["route"],"w");
            while(!feof($cfill)){
                $row = fgets($cfill);

                $res = str_replace($r["stsyem"],$r["content"],$row);    //替换内容
                        fwrite($cfillnew,$res);//写入html文件
            }
            /*关闭文件*/
            fclose($cfill);
            fclose($cfillnew);
        }
    }

    $f = new textHtml;
    $fillname = microtime().".html";
    $content = "这是一个页面静态化技术";
    $r["route"] = $fillname;
    $r["html"] = "index.html";
    $r["stsyem"] = "%demo%";
    $r["content"] = $content;

    $f->fwriteHtml($r);
?>

最后得到的结果:

<!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>全国城市三级联动</title>

</head>
<body>
        <p style="color: #ff9000;">这是一个页面静态化技术</p>
</body>
</html>

利用php静态化技术可以更好的实现网页功能 ; 在创建文章或者一些不经常改变内容中都可以用到;

时间: 2024-10-06 21:45:04

php页面静态化技术;学习笔记的相关文章

网站优化—页面静态化技术

数据库检索的问题 主要是为了减少数据库的操作,让MySQL能够提供更强大的服务 ? 使用缓存技术 磁盘缓存:就是将用户请求数据库的数据,保存到磁盘文件形成一个静态的HTML文本,下次用户的访问的时候,直接返回该HTML文本. 内存缓存:将MySQL的数据取出之后,保存到内存(memcache,不算一个NOSQL数据库,但是是一个缓存系统)之中,下次直接从内存中返回.(效率非常高) 注意:只要不使用sql语句作为查询条件的数据库(仓库)就叫做NOSQL数据库 优化MySQL 设计:存储引擎的选择,

[项目构建 九]babasport 页面静态化技术Freemarker技术的介绍及使用实例.

一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 果就不会再发生变化(除非你修改页面代码).而动态网页则不然,页面代码虽然没有发生变化,但是显示的内容却是可以随着时间.环境或者数据库操作的结果而 发生相应的变化.简而言之,动态网页是基本的HTML语法规范与java.VB.VC等高级程序设计语言.数据库编程等多种技术的融合,以实现对网站内容 和风格

大数据学习总结记录—页面静态化技术(Freemarker/velocity)&amp; 网站伪静态(UrlRewriteFilter)

Freemaker  静态化模板技术 模板的作用 模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选择使用freemarker或velocity作为view,模板技术作为view的好处是很多,尤其和jsp比较起来优点更大,众所周知jsp需要在第一次被执行的时候编译成servlet,那么这个过程是很慢的,当然很多应用服务器都提供预编译的功能,但是在开

高性能Java Web 页面静态化技术

package com.yancms.util; import java.io.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.apache.commons.httpclient.params.HttpMethodParams; /** * 静态页面引擎技术(突乱了乱码问题UTF-8) * @author 吴彦文 * */ public cl

页面静态化技术velocity与freemarker比较

相比较 FreeMarker 而言,Velocity 更加简单.轻量级,但它的功能却没有 FreeMarker 那么强大. 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的toolbox类以及一遍遍重复的编写一些比较通用的模版代码,因此也就丧失了刚开始开发时更多的宝贵时间.另外使用工具类和变通的方法在模版引擎中似乎不是一个非常有效的做法.同时,Velocity 的做法使得在Velocity的模版中大量的跟 Java 对

页面静态化技术

在eclipse中点击Window,选择Reference,弹出如下框 找到:General --> Editors --> File Associations 如下:如果有*.ftl文件,就不用点击上面的Add.如果没有,就点击Add新建 然后点击此页面下面的Add按钮: 然后选择General--Content Types: 编程步骤,这里我们写一个工具类方便我们使用 package cn.jiedada.util; import java.io.File; import java.io.

页面静态化----------------------------------------个人笔记

***********************************************大型网站提速关键技术(页面静态化,mmecached,mysql优化)*********************************************************************************** ************************************************************页面静态化*******************

学习笔记 --- 缓存、动态页面静态化、网站优化

http://www.cnblogs.com/cs_net/archive/2011/03/17/1986620.html 一.缓存 缓存(Cache)技术在软件开发过程中有着广泛的用途, 它对提升软件性能和改善客户体验有很大帮助. 所谓缓存, 是指将那些经常重复的操作结果暂时存放起来, 在以后的执行过程中, 只要使用前面的暂存结果即可. 缓存技术在日常生活中随处可见, 就拿排队买票来说吧: 买票时需要先排队, 等轮到自己了, 再告诉售票员你需要买那里的票, 售票员查询完后告诉你有还是没有. 若

(PHP学习笔记)实现页面静态化

当我们在访问各个门户信息网站时,主页都会给我们显示各种头条.导航信息(例如新闻网).我们可以想象,面对众多的数据库访问等操作,在我们访问这些网页的同时加载速度将会变得很慢.众所周知,咱在访问静态页面的速度是优于动态网页的.所以,实现页面静态化可以有效地解决这些问题. 那么,何为静态化?其实根据字面理解我们可以得知,静态化就是将一个动态的网页转变成一个类似静态的网页.动态页面静态化的实质就是:生成静态的HTML文件. 静态化需要用到两个关键的知识点: ①buffer缓冲区机制 ②利用函数file_