<?php
namespace app\check;
use think\Env;
class Cs extends BaseController
{
//定期清除tp生成的日志
public function clearCacheLog()
{
$logFilePath = LOG_PATH;
$size = bcdiv($this->dirsize($logFilePath), 1048576, 1);
//大于1M清除
if ($size > 1){
$this->delLog(LOG_PATH);
}
}
//检测文件夹大小
private function dirsize($dir)
{
@$dh = opendir($dir);
$size = 0;
while($file = @readdir($dh)){
if($file!="." && $file!=".."){
$path = $dir."/".$file;
if(is_dir($path)){
$size += self::dirsize($path);
}elseif(is_file($path)){
$size += filesize($path);
}
}
}
@closedir($dh);
return $size;
}
//删除文件
private function delLog($path)
{
//如果是目录则继续
if(is_dir($path)){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p = scandir($path);
foreach($p as $val){
//排除目录中的.和..
if($val !="." && $val !=".."){
//如果是目录则递归子目录,继续操作
if(is_dir($path.$val)){
//子目录中操作删除文件夹和文件
self::delLog($path.$val.'/');
//目录清空后删除空文件夹
@rmdir($path.$val.'/');
}else{
//如果是文件直接删除
unlink($path.$val);
}
}
}
}
}
}