<?php
$p = 1;
if(!empty($_GET["page"]))
{
$p = $_GET["page"];
}

$filename = "../cache/huancun{$p}.html"; //缓存文件存放的位置

$time = 30; //缓存有效期10秒

/*var_dump((filemtime($filename)+$time)<= time());
echo filemtime($filename)+$time;
echo time();*/

//判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在重新缓存
if(file_exists($filename) && ((filemtime($filename)+$time)>= time()) )
{
//直接调用缓存
include($filename);
}
else
{
//重新缓存
ob_start(); //开启内存缓存

include("../init.inc.php");
include("../DBDA.php");
$db = new DBDA();
$sall = "select count(*) from nation";
$zts = $db->StrQuery($sall);
include("../page.class.php");
$page = new Page($zts,5);

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

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

$str = ob_get_contents(); //获取内存中的缓存内容
file_put_contents($filename,$str);

ob_flush(); //关闭内存缓存

echo "#######################################";
}

制作smarty模版缓存文件的更多相关文章

  1. smarty模版使用php标签,如何获取模版变量

    smarty模版使用php标签,如何获取模版变量 in: 后端程序 已经assign一个模版变量$assign,由于要做特殊的循环输出,使用for循环,因此使用到了php标签,但是php语句和模版语句 ...

  2. PHP smarty模版引擎基本安装

    环境:  PHP5.2 以上版本 先去官网下载smarty模版引擎的库文件到你的电脑或服务器上 smarty官方网站库文件下载地址: https://www.smarty.net/download 下 ...

  3. Smarty模版引擎的原理

    Smarty是一个使用php写出来的模版引擎,用来将原本与html代码混杂在一起PHP代码逻辑分离,实现前后端分离. Smarty模板优点: 1. 速度:采用Smarty编写的程序可以获得最大速度的提 ...

  4. 12月13日上午Smarty模版原理

    模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.html <!DOCTYP ...

  5. 【smarty项目源码】模拟smarty模版文件的解析过程

    <?php class MyMiniSmarty{ //模版文件的存放路径 var $template_dir="./templates/"; //编译文件的存放路径 ,编译 ...

  6. smarty模版使用php标签,获取模版变量!

    <ul>{/foreach from=$A key=k item=val/}{/php/} $val = $this->_tpl_vars[val]; $date = substr( ...

  7. TP框架中用tp模版迁移smarty模版的注意事项

    ThinkPHP使用Smarty模板引擎的流程及注意事项在多人合作的项目中,Smarty模板使用的最多,具体原因百度. 而ThinkPHP中默认使用的模板是Think自己的模板,这就需要修改默认的模板 ...

  8. Smarty模版

    smarty.inc.php <?php //创建一个实际路径 define('ROOT_PATH',dirname(__FILE__)); //引入Smarty require ROOT_PA ...

  9. CVE-2021-26119 PHP Smarty 模版沙箱逃逸远程代码执行漏洞

    0x00 漏洞介绍 smarty是一个基于PHP开发的PHP模板引擎.它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设 ...

随机推荐

  1. Codeforces679E. Bear and Bad Powers of 42

    传送门 今天子帧的一套模拟题的T3. 考试的时候其实已经想到了正解了,但是一些地方没有想清楚,就没敢写,只打了个暴力. 首先考虑用线段树维护区间信息. 先把每个值拆成两个信息,一是距离他最近的且大于他 ...

  2. 20145312 《Java程序设计》第七周学习总结

    20145312 <Java程序设计>第七周学习总结 学习笔记 Chapter 13时间与日期 13.1 认识时间与日期 13.1.1 时间的度量 格林威治标准时间 世界时:观测远方星体跨 ...

  3. 《Java程序设计》 第2周学习总结

    20145318 <Java程序设计>第2周学习总结 教材学习内容总结 short,2字节:int,4字节:long,8字节:byte,1字节:float,4字节:double,8字节:c ...

  4. SpringMVC,针对不支持PUT、DELETE提交的游览器处理方式

    在REST服务中必不可少的需要PUT.DELETE提交,但是目前很多的游览器并不支持.所以在使用REST前需要进行一些额外的处理. 具体解决方案如下: 1,先添加一个filter.这个filter就是 ...

  5. SQL Server 自动备份数据脚本

    脚本: use master; go ---声明变量 declare @dbName nvarchar(max)='MG_DATA'; ),) +'_'+ DateName(hour,GetDate( ...

  6. 自定义ajax

    // 动态添加script获取里面的数据,,可实现跨域,不跨的当然也可以 getFile:function(params){ try{ //创建script标签 var cbName=params.c ...

  7. Python基础笔记系列十四:python无缝调用c程序

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...

  8. C# WebSocket解析(收发数据包、分片超长包处理)

    using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptograph ...

  9. Promise相关网址

    1.https://github.com/fsjohnhuang/iPromise 2.https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/ ...

  10. [spring mvc]Hello World入门

    1.新建项目 File->New->Other,选择Dynamic web project: 项目建好之后,目录结构如下: 2.WEB-INF/web.xml 中配置 dispatcher ...