1、文件存储
1)文件存储的有效期错误
存储文件时,数据不定时更新,设置有效期,及时更新有效信息
public function getGameGradeRank()
{
//生成文件
// $aGradeInfo = $this->getNewGrade();
// $fp = fopen("grade.json", "w");
// $atime = strtotime('2016-07-01 00:00:00');
// fwrite($fp, json_encode(array('expire_time'=>$atime + 3600*24*30*3,'data'=>$aGradeInfo)));
// fclose($fp);die;
//获取文件积分排名数据
$data = json_decode(file_get_contents("grade.json"));
//如果过期
if($data && $data->expire_time < time()){
//重新获取数据
$aGradeInfo = $this->getNewGrade();
//写入文件
//每季度开始时间
$data->expire_time = $data->expire_time + 3600*24*30*3;
$data->data = $aGradeInfo;
$data->flag = 1;
}else{
$data->flag = 0;
}
//重新写入文件
if (!file_exists( "grade.json" )) {
mkdirs("grade.json", 0777, true);
}
$fp = fopen("grade.json", "w");
fwrite($fp, json_encode($data));
fclose($fp);
return $data;
}
2)判定返回信息是否是已更新数据
设置一个标志变量flag,当flag为1时,则为新数据,否则为旧数据,针对性处理数据
2、数据返回
动态提取某些数据,根据使用的方法,获取最新数据