首页 > 活动公告/帮助中心 > PHP生成静态页面的方法

PHP生成静态页面的方法

编辑:重庆云捷 来源:www.cqyunjie.com 时间:2014/8/12 18:39:50
在PHP亚博体育app苹果手机下载开发中为了亚博体育app苹果手机下载推广和SEO等需要,需要对亚博体育app苹果手机下载进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、缓存等实现页面静态化,今天就以PHP实例教程形式讨论PHP生成静态页面的方法。页面静态化的方法,分为两种,一种是伪静态,就是url 重写,一种是你真的静态化。下面介绍PHP中页面静态化的方法。

什么是PHP静态化

PHP静态化的简单理解就是使亚博体育app苹果手机下载生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。

PHP生成静态HTML页面的方法

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

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现亚博体育app苹果手机下载静态化。

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

PHP生成静态页面实例代码

  1. <?
  2. $out1 = "<html><head><title>PHP亚博体育app苹果手机下载静态化教程</title></head>
  3. <body>欢迎访问PHP亚博体育app苹果手机下载开发教程网www.leapsoul.cn,本文主要介绍PHP亚博体育app苹果手机下载页面静态化的方法
  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. ?>
  17. 3、使用PHP输出控制函数(Output Control)生成静态页面

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

    PHP生成静态页面实例代码

    1. <?
    2. ob_start();
    3. echo "<html>".
    4. "<head>".
    5. "<title>PHP亚博体育app苹果手机下载静态化教程</title>".
    6. "</head>".
    7. "<body>欢迎访问PHP亚博体育app苹果手机下载开发教程网www.leapsoul.cn,本文主要介绍PHP亚博体育app苹果手机下载页面静态化的方法</body>".
    8. "</html>";
    9. $out1 = ob_get_contents();
    10. ob_end_clean();
    11. $fp = fopen("leapsoulcn.html","w");
    12. if(!$fp)
    13. {
    14. echo "System Error";
    15. exit();
    16. }
    17. else
    18. {
    19. fwrite($fp,$out1);
    20. fclose($fp);
    21. echo "Success";
    22. }
    23. ?>
    24. 我们知道使用PHP进行亚博体育app苹果手机下载开发,一般执行结果直接输出到游览器,为了使用PHP生成静态页面,就需要使用输出控制函数控制缓存区,以便获取缓存区的内容,然后再输出到静态HTML页面文件中以实现亚博体育app苹果手机下载静态化。

      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页面以实现亚博体育app苹果手机下载静态化的方法就介绍完了,根据实际情况和需求你可以选择不同的静态化方法。