首先在main文件夹里面建一个文件 huancun.php   然后在template文件夹里面建一个文件 huancun.html  

huancun.php中的内容为:

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中的内容为:

<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"######"; //这里是为了测试是不是有缓存 }

smarty的缓冲的更多相关文章

  1. smarty实现缓存

    首先需要在mySmarty中添加配置信息,开启缓存,设置缓存文件存放目录,设置缓存时间缓存可以实现减少访问数据库,减轻数据库压力,访问一次数据库,形成静态页面,下次直接调用这个页面,也可以用nocac ...

  2. 【转】php缓冲 output_buffering和ob_start

    原文: http://blog.csdn.net/21aspnet/article/details/7389427 php缓冲 output_buffering和ob_start buffer buf ...

  3. PHP做Web开发的MVC框架(Smarty使用说明 )

    PHP做Web开发的MVC框架(Smarty使用说明 ) 一.Smarty简明教程 1.安装演示 下载最新版本的Smarty-3.1.12,然后解压下载的文件.接下来演示Smarty自带的demo例子 ...

  4. PHP扩展功能 ---- 页面静态化(OB缓冲)

    一.入门三部曲 1.什么是页面静态化 百度百科介绍: 静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页,静态页面网址中一般不含"?&q ...

  5. 创建 Smarty 对象

    /* //if (!defined('INIT_NO_SMARTY')) //{ header('Cache-control: private'); header('Content-type: tex ...

  6. Smarty的基本使用与总结

    含义: Smarty是PHP的一个引擎模板,可以更好的进行逻辑与显示的分离,即我们常说的MVC,这个引擎的作用就是将C分离出来. 环境需求:PHP5.2或者更高版本 我使用的环境是:PHP5.3,wi ...

  7. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  8. C++双缓冲多线程分析大文件词频

    实习生活告一段落,我正式从一名.NET程序员转入Java阵营,不得不说刚开始用Java的东西是多么的不习惯,但是经过三个月的使用与开发,我也发现了Java的优势:不在于语言,而在于开源.这意味着有更多 ...

  9. mysql的缓冲查询和非缓冲查询

    最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...

随机推荐

  1. 1599: [Usaco2008 Oct]笨重的石子

    1599: [Usaco2008 Oct]笨重的石子 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 795  Solved: 543[Submit][ ...

  2. Python--校园网爬虫记

    查成绩,算分数,每年的综合测评都是个固定的过程,作为软件开发者,这些过程当然可以交给代码去做,通过脚本进行网络请求获取数据,然后直接进行计算得到基础分直接填表就好了,查成绩再手动计算既容易出错也繁琐, ...

  3. springMVC在普通方法中调用service方法

    SpringContextUtil类 package com.common.util; import org.springframework.beans.BeansException;import o ...

  4. 安装Eclipse(android)新建项目时遇到的问题

    ---恢复内容开始--- 解决方案: 我先删掉了新建的项目,重新建立项目时 将API都选成相同的API19:... 然后就成功了 ---恢复内容结束---

  5. 【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert

    在我们日常的工作中,有时候需要监控和管理平台的运行状况,而服务运行是否存在异常,是否有软硬件bug等,均需要第一时间知道.对服务状态了如指掌,是一个很重要的事情.那么这个如何做到呢,我们之前在进行私有 ...

  6. python自动化框架(unnitest+selenium+htmlreport)

    上一篇零零散散的写了一些python unnitest的一些知识,这里讲讲我在实际中使用到的自动化测试框架,算是上篇记录的补充!其实我觉得:什么框架都无所谓,关键是当如果用你的框架发现了bug,能尽量 ...

  7. android中在java代码中设置Button按钮的背景颜色

    android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...

  8. wamp虚拟服务器

    1.安装好wampServer 2.修改配置文件包含 vhosts 文件,操作: 打开apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts ...

  9. 【C#】组件分享:FormDragger-窗体拖拽器

    适用:.net2.0+ winform项目 介绍: 类似QQ.迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随 ...

  10. 【原创】Octovis在Ubuntu16.04下运行出现core dump的解决方案

    本人SLAM研究新手,使用系统为Ubuntu16.04.本文原址:http://www.cnblogs.com/hitlrk/p/6667253.html 在学习SLAM的过程中,使用Octomap进 ...