smarty的緩衝

首先在main文件夾裏面建一個文件 huancun.php   而後在template文件夾裏面建一個文件 huancun.html  php

huancun.php中的內容爲:html

require("../init.inc.php");
    require("../DBDA.class.php");;

    $db = new DBDA();

    $sql="select * from nation ";
    $arr=$db->Query($sql);

    $smarty->assign("arr",$arr);
    $smarty->display("huancun.html");

huancun.html中的內容爲:sql

<table width="100%" cellpadding="0" cellspacing="0" border="1">
    <tr>
        <td>代號</td>
        <td>名稱</td>
        <td>操做</td>
    </tr>
    <{foreach $arr as $v}>
    <tr>
        <td><{$v[0]}></td>
        <td><{$v[1]}></td>
        <td><a href="shanchu.php?code=<{$v[0]}>">刪除</a>
            <a href="xiugai.php?code=<{$v[0]}>">修改</a> </td>
    </tr>
    <{/foreach}>

</table>

<a href="tianjia.php">添加</a>

在這個基礎上 我要創建一個緩存文件,那麼就要在huncun.php中作修改了,同時也在其基礎上作了分頁的緩存處理緩存

<?php
//定義當前位置所在的頁數
$p=1;
if(!empty($_GET["page"]))
{
    $p=$_GET["page"];
}

//定義一個緩存頁面的位置,一般放到cache文件中
$filename="../cache/huancunpage{$p}.html";

//定義緩存的時間   filemname 指的是緩存文件的修改時間
$tj=10;

//判斷當前頁面是否須要緩存
if(file_exists($filename)&&filemtime($filename)+$tj>=time())
{
    //若是存在緩存頁面 就顯示緩存
    include($filename);
}
else{
    //從新生成緩存
    ob_start();//開啓緩存

    require("../init.inc.php");
    require("../DBDA.class.php");;
    require("../page.class.php");

    $db = new DBDA();
    $ztss = "select count(*) from nation";
    $zts = $db->StrQuery($ztss);

    $page = new Page($zts,5);


    $sql="select * from nation ".$page->limit;//注意一下nation後面的空格 這個空格是必需要有的
    $arr=$db->Query($sql);

    $smarty->assign("page",$page->fpage());
    $smarty->assign("arr",$arr);
    $smarty->display("huancun.html");

    $str=ob_get_contents();//從內存中獲取內容
    file_put_contents($filename,$str);//把獲取到的內容放到緩存文件裏邊
    ob_flush();//清除緩存

    echo"######"; //這裏是爲了測試是否是有緩存

}
相關文章
相關標籤/搜索