• PHP smarty缓存


    缓存一个页面

    test.php

    <?php
    
    //定义该页面缓存文件存放的路径
    $filename = "../cache/cachetest.html";
    
    //定义缓存有效期
    $cachetime = 5;
    
    //判断缓存文件是否存在
    if(!file_exists($filename) || filemtime($filename)+$cachetime<time())
    {
        //开启内存缓存
        ob_start();
        
        include("../init.inc.php");
        include("../DBDA.php");
        $db = new DBDA();
        
        $sql = "select * from car";
        
        $attr = $db->Query($sql);
        
        $smarty->assign("car",$attr);
        $smarty->display("test.html");
        
        //从内存缓存中获取页面代码
        $content = ob_get_contents();
        
        //将获取到的内容存放到缓存文件
        file_put_contents($filename,$content);
        
        //清掉内存缓存
        ob_flush();
        
        echo "######################################";
    
    }
    else
    {
        include($filename);
    }

    test.html

    <body>
    <h1>汽车信息</h1>
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td>代号</td>
            <td>汽车名称</td>
            <td>油耗</td>
            <td>价格</td>
        </tr>
        
        <{foreach $car as $v}>
        <tr>
            <td><{$v[0]}></td>
            <td><{$v[1]}></td>
            <td><{$v[4]}></td>
            <td><{$v[7]}></td>
        </tr>
        <{/foreach}>
        
    </table>
    </body>

    分页缓存

    testa.php

    <?php
    
    //取当前页
    $p=1;
    if(!empty($_GET["page"]))
    {
        $p = $_GET["page"];
    }
    //定义缓存文件存放路径
    $filename = "../cache/cahetesta{$p}.html";
    
    //判断
    if(!file_exists($filename) || filemtime($filename)+30<time())
    {
        ob_start();
        
        
        include("../init.inc.php");
        include("../DBDA.php");
        $db = new DBDA();
        
        include("page.class.php");
        
        $szs = "select count(*) from car";
        $zs = $db->StrQuery($szs);
        
        $page = new Page($zs,5);
        $xinxi = $page->fpage();
        
        $sql = "select * from car ".$page->limit;
        
        $attr = $db->Query($sql);
        
        $smarty->assign("car",$attr);
        $smarty->assign("xinxi",$xinxi);
        $smarty->display("testa.html");
        
        $nr = ob_get_contents();
        
        file_put_contents($filename,$nr);
        
        ob_flush();
        
        echo "################################################";
    }
    else
    {
        include($filename);
    }

    testa.heml

    <body>
    <h1>汽车信息</h1>
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td>代号</td>
            <td>汽车名称</td>
            <td>油耗</td>
            <td>价格</td>
        </tr>
        
        <{foreach $car as $v}>
        <tr>
            <td><{$v[0]}></td>
            <td><{$v[1]}></td>
            <td><{$v[4]}></td>
            <td><{$v[7]}></td>
        </tr>
        <{/foreach}>
        
    </table>
    <div><{$xinxi}></div>
    </body>

  • 相关阅读:
    图像相似度
    二维数组 问题 E: 计算鞍点
    Uva
    Uva
    Uva
    Uva
    Uva
    Uva
    Uva
    【转载】2015 Objective-C 三大新特性 | 干货
  • 原文地址:https://www.cnblogs.com/yy01/p/5714662.html
Copyright © 2020-2023  润新知