file_name[$file_name] = @filemtime($file_name); }else { $this->file_name[$file_name] = @filemtime($file_name); if(!is_dir($file_name)){ continue; } $files = @dir($file_name); Verify::isTrue($files!== null, "open dir $file_name failed"); while (!!($file = $files->read())){ if($file == '.' || $file == '..') {continue;} $this->file_name[$file_name.'/'.$file] = @filemtime($file_name.'/'.$file); } $files->close(); } } } /** * 判断是否过期 * @param mixed $data 从缓存中得到的数据 * @return boolean */ public function __invoke($data, $create_time){ $res = false; foreach ($this->file_name as $name => $time){ if(@filemtime($name) !== $time){ Logger::info("cache expired by file $name modified"); return false; } $res = true; } return $res; } private $file_name=array(); //文件全路径 }