首页 php教程 php手册 php中静态化生成的方法

php中静态化生成的方法

May 26, 2016 am 08:21 AM
php静态化

在php中原生态的生成html页面我们会用到三个函数:ob_start()、ob_get_contents()、ob_end_clean()了,然后再把获取的内容给fopen函数生成即可.

例子,利用三个函数: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生成静态页面实例代码,代码如下:

<?php  
ob_start();  
echo "<html>".   
"<head>".   
"<title>PHP网站静态化教程</title>".   
"</head>".   
"<body>欢迎访问PHP网站开发教程网www.phprm.com 本文主要介绍PHP网站页面静态化的方法</body>".   
"</html>";   
  
$out1 = ob_get_contents();   
ob_end_clean();   
$fp = fopen("leapsoulcn.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.phprm.com

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( &#39;名称&#39; ,HTML_PATH. &#39;/&#39; , &#39;模版&#39; , &#39;utf8&#39; ); //注意:这里的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 生成静态文件的类型

php生成静态页,代码如下:

class AddhtmlAction extends CommonAction { 
    public function index(){ 
        $this->assign(&#39;abc&#39;, &#39;abc222222222&#39;); 
        $pagename = &#39;123 www.phprm.com&#39;;  //页面名称 
        $temppath = &#39;&#39;;        //显示模版路径 
        //查看配置文件是否开启显示静态模版 
        if(C(&#39;IS_HTML&#39;)) 
        { 
            //判断是否已经生成静态页面 
            if(!is_file(HTML_PATH . &#39;/&#39;. $pagename .&#39;html&#39;)) 
                $this->buildHtml($pagename, HTML_PATH.&#39;/&#39;, &#39;index&#39;, &#39;utf8&#39;);//注意:index为动态模版 这里的utf8不能写成utf-8 
            $temppath = HTML_PATH . &#39;/&#39;. $pagename .&#39;html&#39;; 
        } 
        $this->display($temppath); 
    } 
}
登录后复制


本文链接:

收藏随意^^请保留教程地址.

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)