<?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);
}
}
}
}
}
}