PHP生成静态页面的方法

在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、缓存等实现页面静态化,今天就以PHP实例教程形式讨论PHP生成静态页面的方法。页面静态化的方法,分为两种,一种是伪静态,就是url 重写,一种是你真的静态化。下面介绍PHP中页面静态化的方法。

什么是PHP静态化

PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。

PHP生成静态HTML页面的方法

1、利用PHP模板生成静态页面

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。

2、使用PHP文件读写功能生成静态页面

PHP生成静态页面实例代码

3、使用PHP输出控制函数(Output Control)生成静态页面

输出控制函数(Output Control)也就是使用和控制缓存来生成静态HTML页面,也会使用到PHP文件读写函数。

PHP生成静态页面实例代码

我们知道使用PHP进行网站开发,一般执行结果直接输出到游览器,为了使用PHP生成静态页面,就需要使用输出控制函数控制缓存区,以便获取缓存区的内容,然后再输出到静态HTML页面文件中以实现网站静态化。

PHP生成静态页面的思路为:首先开启缓存,然后输出了HTML内容(你也可以通过include将HTML内容以文件形式包含进来),之后获取缓存中的内容,清空缓存后通过PHP文件读写函数将缓存内容写入到静态HTML页面文件中。PHP文件读写教程?

获得输出的缓存内容以生成静态HTML页面的过程需要使用三个函数:ob_start()、ob_get_contents()、ob_end_clean()。

知识点:

1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。

2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。

3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False

PHP输出控制函数(Output Control)有很多应用,今后将陆续展开。

至此,使用PHP生成静态HTML页面以实现网站静态化的方法就介绍完了,根据实际情况和需求你可以选择不同的静态化方法。

  1. <?
  2. $out1 = "<html><head><title>PHP网站静态化教程</title></head>
  3. <body>欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法
  4. </body></html>";
  5. $fp = fopen("leapsoulcn.html","w");
  6. if(!$fp)
  7. {
  8. echo "System Error";
  9. exit();
  10. }
  11. else {
  12. fwrite($fp,$out1);
  13. fclose($fp);
  14. echo "Success";
  15. }
  16. ?>
    1. <?
    2. ob_start();
    3. echo "<html>".
    4. "<head>".
    5. "<title>PHP网站静态化教程</title>".
    6. "</head>".
    7. "<body>欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法</body>".
    8. "</html>";
    9.  
    10. $out1 = ob_get_contents();
    11. ob_end_clean();
    12. $fp = fopen("leapsoulcn.html","w");
    13. if(!$fp)
    14. {
    15. echo "System Error";
    16. exit();
    17. }
    18. else
    19. {
    20. fwrite($fp,$out1);
    21. fclose($fp);
    22. echo "Success";
    23. }
    24. ?>
时间: 2024-10-31 10:09:02

PHP生成静态页面的方法的相关文章

ASP生成静态页面的方法

静态|页面|静态 ASP2HTML WITH TEMPLET我希望大家看到该标题就能让想象到它的功能: 1,WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模板应熟悉下.(当然,不看也没有问题,本教程同样会提及精华部分的:)具体参考:http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=474 2,ASP2HTML.不要我再说ASP转变成HTML的好处

网站生成静态页面攻略 -- 生成静态页面的方法

攻略|静态|页面 生成HTML方法主要步骤只有两个: 一.获取要生成的html文件的内容二.将获取的html文件内容保存为html文件 我在这里主要说明的只是第一步:如何获取要生成的html文件的内容: 目前常用获取html文件的内容的方法有几下几种: 1.这种方法与是在脚本内写要生成的html内容,不太方便预览生成页面的内容,无法可视化布局页面,更改html模板时会更加复杂.用这种方法的人很多,但我感觉这种方法是最不方便的. str="<html标记>内容</html标记&g

技巧实例:ASP.NET生成静态页面实现方法

asp.net|技巧|静态|页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespace=System.IO %> <script runat="server"> protected override void OnInit (EventArgs e) { int id; try { id = int.Parse (Request.QueryStr

ASP.NET C# 生成静态页面简单方法

//源码是替换掉模板中的特征字符             string mbPath = Server.MapPath("template.html");            Encoding code = Encoding.GetEncoding("gb2312");            StreamReader sr = null;            StreamWriter sw = null;            string str = null

简单实用的php生成静态页面的方法

虽然方法很多,但使用起来简便容易的,我觉得还是先判断已经生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成,这种方法比较来得容易,不多说了,开始吧! 在开始之前还是提一下三个函数吧:"ob_start().ob_end_clean().ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里:ob_get_contents():是读出缓冲区里的内容,下面有代码为例:ob_end_clean():这个比较

php 简单定时生成静态页面实现方法

  function mkhtml() {  ob_start();  //输出内容  $temp=ob_get_contents();  ob_end_clean();  $fp=fopen("./index.htm",'w');  fwrite($fp,$temp); } if(file_exists("./index.htm"))//看静态index.htm文件是否存在 {  $time=time();  //文件修改时间和现在时间相差?的话,直接导向htm文

jsp生成静态页面的方法_JSP编程

复制代码 代码如下: import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext;

php生成静态页面的办法

首先说原理.某驼查了那么多资料,发现不管用什么方法,原理都是一样的.就是用程序读取相应的数据来替换模版中的变量,然后生成静态页.php中主要用到的就是要用到fread()和fwirte().而静态页面生成了之后,就会牵扯到修改的问题.这里可以用到正则匹配的方法来替换模版中改变的部位.不过此种方法太麻烦,驼驼推荐的方法是直接把原来生成的模版砍掉,重新生成,呵呵,真正的一了百了. 还需要说明的一点就是,这种生成静态页面的方法一般都用于那些变化不是很频繁的页面,比如信息的最终页面.而针对列表页,如果信

生成静态页面的技术是如何实现的

问题描述 在浏览很多论坛或者网站的时候,一般都是大型的门户网站或者论坛.发现都是.html的静态页面.比如: http://www.domain.com/thread-htm-fid-240.html 的形式.我觉得这个肯定是在后台通过程序将JSP页面生成的html页面.我想问的就是这个是如何实现的? 通过什么技术 或者是 什么设计模式 ?这样做的有点和缺点都有哪些?有点我认为可以减少对数据库的操作,增加搜索引擎的抓取几率吧,不知道理解的对不对.在本站和网络上也搜索了不少,但是感觉说的都太模糊了