PHP头条
热点:

PHP 动态页面静态化,半静态化,php静态


我们一般的文件分为动态文件和静态文件:

       1.动态文件:一般以.php为后缀的文件,PHP的执行流程:语法分析-->编译-->加载;

2.静态页面:一般指的是纯html文件,直接加载就可以了。

3.动态页面静态化的实质:就是通过php内置函数去将动态页面转换成静态页面,和我们的伪静态是有根本上的不同的,

伪静态这个内容今天就不提了

我后面会单独出章节来讲伪静态的内容。

什么是buffer:

 1.buffer是什么:buffer是php文件编译的一个预处理的地方,实质就是一个内存地址,主要用于缓存数据,

实际:PHP文件------->buffer(编译)---->tcp----->返回数据到客户端

2.获取缓冲区的数据:ob_get_content(),开启缓冲区:ob_start()[注意,缓冲区默认在apach下面是开启的]。

3.所用到的函数:

写入函数:fwrite(可以用,但是不推荐)

file_put_contents()推荐此方法

buffer缓冲区操作函数:ob_start();

ob_get_clean()此方法作用是获取缓冲区的数据,然后将数据删除,就没有数据返回到客户端,直接生成静态文件

4.大致流程如下

<?php
//判断是
if(!is_file("txt.shtml")){
    ob_start();
    echo"this is person page";
    /*
     * 这里如果说想查询数据库的数据填充到页面
    */
    $select_sql="select title from newstable";
    $result_set=$db->query($select_sql);
    file_put_contents("txt.shtml",ob_get_clean());
    ?>
    </<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        {foreach $result-set $v}
        <title>{$v[title]}</title>
        {foreach}
    </head>
    <body>
    </body>
    </html>
<?php
}
else{
    
    require_once "txt.shtml";
}
?>

我总结了一下所谓页面静态化流程:1.判断静态文件index.shtml是否存在,是就直接访问静态文件2.第一次访问index.php时将数据在缓冲区写成静态文件,并引入静态文件3.设置定时器删除静态文件。

注意:我讲的是静态化的原理,但是不同的框架都有相应的方法,可以查看相关文档。

www.phpzy.comtrue/php/6367.htmlTechArticlePHP 动态页面静态化,半静态化,php静态 我们一般的文件分为动态文件和静态文件:        1.动态文件:一般以.php为后缀的文件,PHP的执行流程:语法分析--编译--加载; 2.静态页面...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐