thinkphp清除缓存
2021-12-03ThinkPHP
很多小伙伴在使用thinkphp5或者tp框架的时候,经常会用到怎么清除网站后台缓存,不知道怎么写,废话不多说,下面为大家帖下代码,以及详细使用方法!
很多小伙伴在使用thinkphp5或者tp框架的时候,经常会用到怎么清除网站后台缓存,不知道怎么写,废话不多说,下面为大家帖下代码,以及详细使用方法!
html代码
<a href="javascript::void(0)" onclick="clearPhp(this)" data-GetUrl="{:url('login/clear')}">清楚缓存</a>js代码
<script>
function clearPhp(obj) {
var url=obj.getAttribute('data-GetUrl');
//询问框
layer.confirm('您确定要清除吗?', {
btn: ['确定','取消'] //按钮
},
function(){
$.get(url,function(info){
if(info.code === 1){
setTimeout(function () {location.href = info.url;}, 1000);
}
layer.msg(info.msg);
});
},
function(){});
}</script>控制器中的方法
/**
* 清除缓存
*/
public function clear() {
if (delete_dir_file(CACHE_PATH) || delete_dir_file(TEMP_PATH)) {
$this->success('清除缓存成功');
} else {
$this->error('清除缓存失败');
}
}common中的方法
/**
* 循环删除目录和文件
* @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;} 很赞哦! ()
