PHPSmarty页面静态化加分页和缓存控制

PHP页面

创新互联主营六安网站建设的网络公司,主营网站建设方案,成都App定制开发,六安h5微信小程序定制开发搭建,六安网站营销推广欢迎六安等地区企业咨询

<?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<time()){
//创建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页面

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<style type="text/css">

</style>
<script type="text/javascript">
    function abc(){
    }
</script>
<{config_load file="../config/my.conf " section="index"}>
<body bgcolor='<{ #bgcolor# }>'>
<h4><{#title#}></h4>

<table border="1" width="800" align="center">
<caption>用户信息表</caption>
            <th align="center">index</th>
            <th align="center">iteration</th>
            <{foreach $tdname as $val}>
                            <th align="center"><{$val}></th>
            <{/foreach}>
            <{section name="one" loop=$users }>        
                    <{if $smarty.section.one.first}>
                            <tr bgcolor="red" align="center">
                    <{elseif $smarty.section.one.last}>
                            <tr bgcolor="yellow" align="center">
                    <{elseif $smarty.section.one.iteration is even}>
                            <tr bgcolor="pink" align="center">
                    <{else}>
                            <tr bgcolor="green" align="center">
                    <{/if}>                    
                                <td><{$smarty.section.one.index}></td>
                                <td><{$smarty.section.one.iteration}></td>
                                <td><{$users[one].id}></td>
                                <td><{$users[one].username}></td>
                                <td><{$users[one].password}></td>
                                <td><{$users[one].email}></td>
                    </tr>
                    <{sectionelse}>
                    没有用户查询出来!
            <{/section}>
            <tfoot><tr><td colspan="6" align="center">
            <{$fpage}>
            </td></tr></tfoot>
</table>
</body>

浏览器页面

PHP Smarty 页面静态化加分页和缓存控制

网站名称:PHPSmarty页面静态化加分页和缓存控制
转载来源:https://www.cdcxhl.com/article40/pjpoeo.html

成都网站建设公司_创新互联,为您提供网站设计公司网站营销Google微信公众号网站设计云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司