| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- <?php
 
- /**
 
-  * FileCache 文件缓存
 
-  *
 
-  * @author      gaoming13 <gaoming13@yeah.net>
 
-  * @link        https://github.com/gaoming13/wechat-php-sdk
 
-  * @link        http://me.diary8.com/
 
-  */
 
- namespace echowx\utils;
 
- class FileCache {
 
-     protected $options = [
 
-         'expire'        => 7000,
 
-         'cache_subdir'  => true,
 
-         'prefix'        => '',
 
-         'path'          => CACHE_PATH,
 
-         'data_compress' => false,
 
-     ];
 
-     /**
 
-      * 构造函数
 
-      * @param array $options
 
-      */
 
-     public function __construct($options = [])
 
-     {
 
-         if (!empty($options)) {
 
-             $this->options = array_merge($this->options, $options);
 
-         }
 
-         if (substr($this->options['path'], -1) != '/') {
 
-             $this->options['path'] .= '/';
 
-         }
 
-         $this->init();
 
-     }
 
-     /**
 
-      * 初始化检查
 
-      * @access private
 
-      * @return boolean
 
-      */
 
-     private function init()
 
-     {
 
-         // 创建项目缓存目录
 
-         if (!is_dir($this->options['path'])) {
 
-             if (mkdir($this->options['path'], 0755, true)) {
 
-                 return true;
 
-             }
 
-         }
 
-         return false;
 
-     }
 
-     public function get($name, $default = false)
 
- 	{
 
-         $filename = $this->getCacheKey($name);
 
-         if (!is_file($filename)) {
 
-             return $default;
 
-         }
 
-         $content = file_get_contents($filename);
 
-         if (false !== $content) {
 
-         	$arr = json_decode($content,true);
 
-         	if($arr['expire'] <= time())
 
-         	{
 
-         		return false;
 
-         	}
 
-         	return $content;
 
-         }
 
- 	}
 
-     public function set($name, $value, $expire = null)
 
- 	{
 
-         if (is_null($expire)) {
 
-             $expire = $this->options['expire'];
 
-         }
 
-         $filename = $this->getCacheKey($name);
 
-         $json = json_encode(array($name=>$value,"expire"=>time()+$expire));
 
-         $result = file_put_contents($filename,$json);
 
-         if ($result) {
 
-         	return true;
 
-         }
 
-         return false;
 
- 	}
 
- 	/**
 
- 	 * 获取缓存文件名
 
- 	 * @dateTime 2018-01-29T14:32:49+0800
 
- 	 * @author xm
 
- 	 * @return   [type]                   [description]
 
- 	 */
 
- 	public function getCacheKey($name)
 
- 	{
 
- 		return $this->options['path']."/".$name.'_cache.php';
 
- 	}
 
- }
 
 
  |