77 lines
1.9 KiB
PHP
77 lines
1.9 KiB
PHP
![]() |
<?php
|
|||
|
/**
|
|||
|
* 保存配置文件至本地目录
|
|||
|
* 注:部分系统需拥有读、写权限
|
|||
|
*/
|
|||
|
|
|||
|
class FileMap {
|
|||
|
|
|||
|
protected $map_dir = "/tmp/";
|
|||
|
|
|||
|
protected $map_name = "map.json";
|
|||
|
//默认:一天;存储只保留一天,每天第一次运行会更新文件
|
|||
|
public $life_time = 1;
|
|||
|
//天:day,小时:hour,分钟:min
|
|||
|
public $unit = "day";
|
|||
|
/**
|
|||
|
* 已存储
|
|||
|
* @return bool|string
|
|||
|
*/
|
|||
|
public function hasMap(){
|
|||
|
$file_path = $this->map_dir.$this->map_name;
|
|||
|
if(file_exists($file_path)){
|
|||
|
$time_format = "y-m-d h:i:s";
|
|||
|
$create_file_time = date($time_format,filectime($file_path));
|
|||
|
$now = date($time_format);
|
|||
|
//配置默认一天更新一次
|
|||
|
$diff = QmHelper::dateTimeDiff($create_file_time,$now);
|
|||
|
if($diff[$this->unit] > $this->life_time){
|
|||
|
$this->delete();
|
|||
|
return false;
|
|||
|
}
|
|||
|
return $file_path;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 加载map
|
|||
|
* @return bool|string
|
|||
|
*/
|
|||
|
public function loadMap(){
|
|||
|
if($file_path = $this->hasMap()){
|
|||
|
$content = file_get_contents($file_path);
|
|||
|
|
|||
|
if(!isset($content) || empty($content)){
|
|||
|
$this->delete();
|
|||
|
return false;
|
|||
|
}
|
|||
|
return $content;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 保存map
|
|||
|
* @param $value
|
|||
|
*/
|
|||
|
public function saveMap($value){
|
|||
|
if($file_path = $this->hasMap()){
|
|||
|
$this->delete();
|
|||
|
}else{
|
|||
|
$file_path = $this->map_dir.$this->map_name;
|
|||
|
}
|
|||
|
file_put_contents($file_path,$value);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 删除
|
|||
|
*/
|
|||
|
public function delete(){
|
|||
|
$file_path = $this->map_dir.$this->map_name;
|
|||
|
if(file_exists($file_path) && is_writeable($file_path)){
|
|||
|
unlink($file_path);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|