tp5 删除缓存

版权声明:本文为博主原创,未经博主同意,不得转载! https://blog.csdn.net/qq_39188306/article/details/81503921

话不多说,直接上代码!!!

1、在你的项目common.php中定义方法:

/**
 * 循环删除目录和文件
 * @param string $dir_name 目录名
 * @return bool
 */
function delete_dir_file($dir_name) {
    $result = false;
    if(is_dir($dir_name)){ //检查指定的文件是否是一个目录
        if ($handle = opendir($dir_name)) {   //打开目录读取内容
            while (false !== ($item = readdir($handle))) { //读取内容
                if ($item != '.' && $item != '..') {
                    if (is_dir($dir_name . DS . $item)) {
                        delete_dir_file($dir_name . DS . $item);
                    } else {
                        unlink($dir_name . DS . $item);  //删除文件
                    }
                }
            }
            closedir($handle);  //打开一个目录,读取它的内容,然后关闭
            if (rmdir($dir_name)) { //删除空白目录
                $result = true;
            }
        }
    }
    return $result;
}

2、在你的控制器创建清除缓存clear方法,调用刚才定义的方法:

/**
 * 清除缓存
 * @param LogAdmin $logAdmin
 * @return mixed
 */
public function clear(LogAdmin $logAdmin) {
    if (delete_dir_file(CACHE_PATH) && delete_dir_file(TEMP_PATH)) {
        $logAdmin->writeLog('清除缓存数据');
        return jsonReturn(1,'清除缓存成功');
    } else {
        return jsonReturn(-1,'清除缓存失败');
    }
}

3、html代码:

<ul class="dropdown-menu animated fadeInRight m-t-xs">
    <li><a class="menu" href="{:url('admin/index/editPwd')}">修改密码</a></li>
    <li><a href="javascript:;" id="cache">清除缓存</a></li>
    <li><a href="{:url('admin/login/loginOut')}">安全退出</a></li>
</ul>

4、js代码:

//清除缓存
$(function(){
    $("#cache").click(function(){
        layer.confirm('你确定要清除缓存吗?', {icon: 3, title:'提示'}, function(index){
            $.getJSON("{:url('admin/index/clear')}",function(res){
                if(res.code == 1){
                    layer.msg(res.msg,{icon:1,time:2000,shade: 0.1});
                }else{
                    layer.msg(res.msg,{icon:0,time:2000,shade: 0.1});
                }
            });
            layer.close(index);
        })
    });
});

5、然后去清除缓存试试,看看runtime中是否还有缓存文件存在!

没有清除之前:

清除之后:

到此结束!  点击关注博主更多博文!

扫描二维码关注公众号,回复: 3394925 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_39188306/article/details/81503921