码迷,mamicode.com
首页 > Web开发 > 详细

动态网页静态化+局部静态化

时间:2016-03-27 23:57:39      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:

静态化:

1.设置缓存时间

if(is_file(‘./index.html‘) && (time()-filemtime(‘./index.html‘) < 1200)) {
    require_once(‘./index.html‘);
}else {
    // 引入数据库链接操作
    require_once(‘./db.php‘);
    $sql = "select * from news where `category_id` = 1 and `status` = 1 limit 4";
    try{
        $db = Db::getInstance()->connect();
        $result = mysql_query($sql, $db);
        $newsList = array();
        while($row = mysql_fetch_assoc($result)) {
            $newsList[] = $row;
        }
    }catch(Exception $e) {
        // TODO
    }
    ob_start();
    require_once(‘template/index.php‘);
    $s = ob_get_contents();
    file_put_contents(‘./index.html‘, $s);
    //ob_clean();
}

 

 因为是缓存设置的时间,则在此之前的缓存不能被清除,所以在此前生成静态文件的时候,获取缓存内容就不能用ob_get_clean()函数,这个函数获取缓存内容的后清除了缓存,但是ob_get_contents()就会获取缓存不会清除缓存。所以要用ob_get_contents();

2.加个按钮选择手动刷新

3.crontab -e 定时 ,分 时 日 月 周 执行语句

 

局部更新:

ajax的get方法,拿接口,写个js,获取接口数据然后格式化。

<script>
$.ajax({ 
    type : "GET",
    url: "http://static.com/demo4/api/ajax.php",
    dataType : "json",
    success: function(data){
        alert(data.message);
    }
});
</script>

 

动态网页静态化+局部静态化

标签:

原文地址:http://www.cnblogs.com/anArtist/p/5327366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!