PHP页面<?php
//打开输出控制缓冲
ob_start();
//新建模板文件
$file = "./cache/newindex{$_GET['page']}.html";
$cachetime = 10;
const DSN = 'mysql:host=localhost;dbname=test';
const DBUSER = 'root';
const DBPWD = 'root';
//模板不存在或者超过缓存时间才生成缓存模板
if(!file_exists($file) || filemtime($file)+$cachetime
//创建smarty对象
require_once './libs/Smarty.class.php';
require_once 'page.class.php';
//定义根目录
define('ROOT', str_replace("\\", "/",dirname(__FILE__))."/");
//实例化Smarty类
$smarty=new Smarty();
//设定定界符
$smarty->left_delimiter="
$smarty->right_delimiter="}>";
//设置为false 定界符号左右可以有空格
$smarty->auto_literal = false;
//添加一个插件的目录
//$smarty->setPluginsDir(ROOT."/libs/myplugins/");
//注意添加一个插件,要把系统默认设置的路径加入 否则不能使用默认系统的插件
$smarty->setPluginsDir(array(
ROOT."/libs/plugins/",//系统默认设置的路径
ROOT."/libs/myplugins/",//自定义的
));
//连接数据库
try{
$pdo = new PDO(DSN, DBUSER,DBPWD);
}catch(PDOException $e){
echo "数据库连接失败:".$e->getMessage();
exit;
}
$query = "select id, username, password,email from users limit 3";
$stmt = $pdo->prepare($query);
$stmt ->execute();
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
$smarty->assign('users',$users);
//var_dump($users);
$query = "desc users";
$stmt = $pdo->prepare($query);
$stmt ->execute();
$tdname = $stmt->fetchAll(PDO::FETCH_COLUMN);
//var_dump($tdname);
$page = new Page(20, 2);
$smarty->assign('tdname',$tdname);
$smarty->assign('fpage',$page->fpage());
//变量输出
$smarty->display('hello.tpl');
//返回输出缓冲区的内容
$content = ob_get_contents();
//将一个字符串写入文件
file_put_contents("./cache/newindex{$_GET['page']}.html", $content);
//冲刷出(送出)输出缓冲区中的内容
ob_flush();
echo "缓存文件不存在,查询数据库,再生成缓存文件,输出到浏览器";
}else{
include $file;
echo "直接加载缓存文件";
}
?>
模板tpl页面
function abc(){
}
没有用户查询出来!
浏览器页面