广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > ecshop不用后台更新缓存同样可实现前台的刷新

二次开发Ecshop二次开发

二次开发Ecshop二次开发

ecshop不用后台更新缓存同样可实现前台的刷新

 1、首先修改数据库结构
进入 ECShop后台 ==》 数据库管理 ==》SQL查询
输入下面SQL语句,提交,注意要把表前缀更改为你自己的。我这里使用的是默认表前缀ecs_。

INSERT INTO `ecs_shop_config` VALUES (1021, 10, 'last_clear_time', 'text', '', '', '1332808200', 1);
注:1332808200这个是数据库存储的时间戳,对应于2012-03-27 08:30:00,到后台更新下缓存,它会自动变更的。
1021这个值也是可以改的,但是不建议少于1000 如果少于1000,可能对其他值会产生影响。
2、打开 includes/init.php 这个文件
在文件的最后添加如下代码:
// 自动更新缓存
if (is_temps())
{
clear_all_files();
$sql="UPDATE ".$ecs->table('shop_config') ."SET value=".time()." WHERE code='"."last_clear_time'";
$db->query($sql);
}

function is_temps()
{
if(time()-$_CFG['last_clear_time']<3600)
{
return(false);
}
else
{
return(true);
}
}

上面代码中的3600为自动更新间隔时间,单位为秒;
注:如果嫌上面的方法麻烦,可以先显示页面的php代码中在 php结束符?>之前加上一句话“clear_all_files();”,亲身实践过,很好用。