您当前的位置: 首页 > 网站编程 > PHP教程 > php中静态化生成的方法

php中静态化生成的方法

作者:不详 来源:网络 发布时间: 2014-08-05 09:11 点击:
例子,利用三个函数:ob_start()、ob_get_contents()、ob_end_clean()函数 知识点: 1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。 2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须

php中静态化生成的方法

  例子,利用三个函数: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

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

  PHP生成静态页面实例代码

  

  

  

  

  

  

  

  

  

  

  
代码如下


  <? 

     ob_start();

     echo "<html>". 

     "<head>". 

     "<title>PHP网站静态化教程</title>". 

     "</head>". 

     "<body>欢迎访问PHP网站开发教程网www.111cn.net 本文主要介绍PHP网站页面静态化的方法</body>". 

     "</html>"; 

      

     $out1 = ob_get_contents(); 

     ob_end_clean(); 

     $fp = fopen("lea

  psoulcn.html","w"); 

     if(!$fp) 

     { 

     echo "System Error"; 

     exit(); 

     } 

     else

     { 

     fwrite($fp,$out1); 

     fclose($fp); 

     echo "Success"; 

     } 

  ?>



  


  例子,

  利用框架模板生成最近比较火的php框架有thinkphp下面我们就以它为例子。

  thinkphp提供了一个有效的生成静态页的方法,(在tp2.0的手册上有说明,3.0的手册上没有说明了,不过3.0方法还是存在的。)

  

  

  

  

  

  

  

  

  

  

  
代码如下


  $this->buildHtml('静态文件', '静态路径','模板文件');

  


  参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项 目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)

  参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。 define('HTML_PATH', './');(将静态路径义为网站根目录)

  参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。

  1 、在入口文件index.php文件中定义生成静态页面的文件位置,然后在个目录新建Html文件夹

  

  

  

  

  

  

  

  

  

  

  
代码如下


    define( 'HTML_PATH' , './Html' );//www..net

  


  2 、在根目录的config文件夹中的config.php配置静态页面的类型,设为 html

  

  

  

  

  

  

  

  

  

  

  
代码如下
'HTML_FILE_SUFFIX'       = > '.html' , // 默认静态文件后缀


  3 、在“Tpl / default / ”目录中新建一个Index的文件夹,文件夹下面新建一个index.html的模板,  模板里面内容为:这是生成静态页例子

  4 、控制器IndexAction. class .php中的代码

  

  

  

  

  

  

  

  

  

  

  
代码如下


    class IndexAction extends Action{

      public function index(){

        $this - > buildHtml( '名称' ,HTML_PATH. '/' , '模版' , 'utf8' ); //注意:这里的utf8不能写成utf-8

        $this - > display();

     }

  }

  


  解释 :

     这里的buildHtml是thinkphp内置的函数,这里的意思是:

     将index的模板文件生成utf8编码格式的静态网页,该文件名为 1 .html,存在于根目录的htm文件中

     该函数有 5 个参数,具体如下 :

     buildHtml($htmlfile,$htmlpath,$templateFile,$charset,$contentType = 'text/html' )

  参数:

     $htmlfile 生成的静态文件名称

     $htmlpath 生成的静态文件路径

     $templateFile 指定要生成静态的模板文件

     $charset 生成静态文件的编码格式

     $contentType 生成静态文件的类型

  // 生成静态页

  

  

  

  

  

  

  

  

  

  

  
代码如下
class AddhtmlAction extends CommonAction {

     public function index(){

         $this->assign('abc', 'abc222222222');

         $pagename = '123 www..net';       //页面名称

         $temppath = '';       //显示模版路径

         //查看配置文件是否开启显示静态模版

         if(C('IS_HTML'))

         {

             //判断是否已经生成静态页面

             if(!is_file(HTML_PATH . '/'. $pagename .'html'))

                 $this->buildHtml($pagename, HTML_PATH.'/', 'index', 'utf8');//注意:index为动态模版 这里的utf8不能写成utf-8

             $temppath = HTML_PATH . '/'. $pagename .'html';

         }

         $this->display($temppath);

     }

  }
分享到:
本文"php中静态化生成的方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4