thinkphp 删除缓存文件 适用tp目前所有版本
废话不多,直接上代码
$dirname = './images/';
//var_dump(rmdir($dirname));
//die;
//清文件缓存
$dirs = array($dirname);
//清理缓存
foreach($dirs as $value) {
return rmdirr($value);
echo "<div style='border:2px solid green; background:#f1f1f1; padding:20px;margin:20px;width:800px;font-weight:bold;color:green;text-align:center;'>\"".$value."\" have been cleaned clear! </div> <br /><br />";
}
function rmdirr($dirname) {
var_dump($dirname.'</br>');
/*过滤路径不存在*/
if (!file_exists($dirname)) {
return false;
}
/*如果是文件或者链接就删除掉*/
if (is_file($dirname) || is_link($dirname)) {
var_dump('是文件或者链接'.'</br>');
return unlink($dirname);
}
$dir = dir($dirname);
if($dir){
while (false !== $entry = $dir->read()) {
if ($entry == '.' || $entry == '..') {
continue;
}
rmdirr($dirname . DIRECTORY_SEPARATOR . $entry);
}
}
$dir->close();
return rmdir($dirname);
}
将这个文件放到tp的根目录即可
在html页面这样调用
<a href="javascript:void(0);" onclick="$.get('/clreaRunTime.php');common.msg('缓存清理成功!')">
<i class="cache-delete"></i>清除缓存
</a>
问题记录
在本地测试文件夹,是全部都删除的
images 下放 111.jpg
$dirname = ‘./images/’;
调用完效果是连带images文件夹都删除了,经测试是
return rmdir($dirname);
这行代码在起作用。
但是在tp上运行之后,runtime文件还是一直在,目前还没有想通,欢迎探讨