加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php文件缓存类用法实例分析

发布时间:2020-12-13 02:35:04 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:php文件缓存类用法实例分析》要点: 本文介绍了PHP实例:php文件缓存类用法实例分析,希望对您有用。如果有疑问,可以联系我们。 PHP编程 本篇章节讲解php文件缓存类用法.供大家参考研究.具体如下: PHP编程 ?php/** * 简单的文件缓存类

《PHP实例:php文件缓存类用法实例分析》要点:
本文介绍了PHP实例:php文件缓存类用法实例分析,希望对您有用。如果有疑问,可以联系我们。

PHP编程本篇章节讲解php文件缓存类用法.分享给大家供大家参考.具体如下:

PHP编程
<?php
/**
 * 简单的文件缓存类
 *
 */
class XZCache{
 // default cache time one hour
 var $cache_time = 3600;
 // default cache dir
 var $cache_dir = './cache';
 public function __construct($cache_dir=null,$cache_time=null){
  $this->cache_dir = isset($cache_dir) ? $cache_dir : $this->cache_dir;
  $this->cache_time = isset($cache_time) ? $cache_time : $this->cache_time;
 }
 public function saveCache ($key,$value){
  if (is_dir($this->cache_dir)){
   $cache_file = $this->cache_dir . '/xzcache_' . md5($key);
   $timedif = @(time() - filemtime($cache_file));
   if ($timedif >= $this->cache_time) {
    // cached file is too old,create new
    $serialized = serialize($value);
    if ($f = @fopen($cache_file,'w')) {
     fwrite ($f,$serialized,strlen($serialized));
     fclose($f);
    }
   }
   $result = 1;
  }else{
   echo "Error:dir is not exist.";
   $result = 0;
  }
  return $result;
 }
 /**
  * @return array 
  *   0 no cache
  *    1 cached
  *    2 overdue
  */
 public function getCache ($key) {
  $cache_file = $this->cache_dir . '/xzcache_' . md5($key);
  if (is_dir($this->cache_dir) && is_file($cache_file)) {
   $timedif = @(time() - filemtime($cache_file));
   if ($timedif >= $this->cache_time) {
    $result['cached'] = 2;
   }else{
    // cached file is fresh enough,return cached array
    $result['value'] = unserialize(file_get_contents($cache_file));
    $result['cached'] = 1;
   }
  }else {
   echo "Error:no cache";
   $result['cached'] = 0;
  }
  return $result;
 }
} //end of class

PHP编程用法示例如下:

PHP编程
$cache = new XZCache();
$key = 'global';
$value = $GLOBALS;
$cache->saveCache($key,$value);
$result = $cache->getCache($key);
var_dump($result);

PHP编程希望本文所述对大家的php程序设计有所赞助.

欢迎参与《PHP实例:php文件缓存类用法实例分析》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读