原生

原生PHP的缓存类

作者:本站 2017-07-14 浏览:482 标签: php    缓存    

   原生PHP的缓存类,比较简单,经测试可以正常运行,收藏好了!<?PHP  class Cache {  static function S($name,

   原生PHP的缓存类,比较简单,经测试可以正常运行,收藏好了!


<?PHP 
class Cache
{
 static function S($name,$data='',$time=100,$path='cache/')
 {
  $split = '|--|--|';
  $prefix = '.cache.php';
  $file = $path.md5(strtolower($name)).$prefix;
  //如果$data为空,刚为读取缓存
  if(empty($data))
  {
   if(is_file($file))
   {
    $cache = file_get_contents($file);
    preg_match('/<\?php \/\/\/(.*)\ ?>/is',$cache,$rs);
    $cache = $rs[1];
    $data = explode($split,$cache);
    $time = intval($data[0]);
    $cache = $data[1];
    if($time < time()) return null;
    else return unserialize($cache);
   }
   else return null;
  }
  //否则为写缓存
  else
  {
   $time = time() + $time;
   $data = serialize($data);
   $data = '<?php ///'.$time.$split.$data.' ?>';
   $folder = dirname($file);
   mk_dir($folder);
   $fp = @fopen($file,'w+');
   @fwrite($fp,$data);
   @fclose($fp);
  }
 }
}
if(!function_exists('mk_dir'))
{
 // 循环创建目录
 function mk_dir($dir, $mode = 0777)
 {
  if (is_dir($dir) || @mkdir($dir,$mode)) return true;
  if (!mk_dir(dirname($dir),$mode)) return false;
  return @mkdir($dir,$mode);
 }
}
?>


  • 0

  • 0

  • 1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.如有文章有版权争议,请给我们留言或者邮件告知我们,邮箱地址:028mw@126.com。