saveCacheDatToDisk(); } } public function hasPageExpired($cachedkey){ if (array_key_exists($cachedkey, $this::$cachedat)) { $cachedpage=$this::$cachedat[$cachedkey]; if ( (floatval($cachedpage['expires']) +floatval($this::$htmlcacheexpires*3600)) saveCacheDatToDisk(); } } public function getCachedPage($cachedkey){ $page=$this::$cachedat[$cachedkey]; return file_get_contents('./htmlcache/cached/'.$page['expires'].'.html'); } public function getCachedPageDate($chachedkey){ $page=$this::$cachedat[$cachedkey]; if (file_exists('./htmlcache/cached/'.$page['expires'].'.html')) { return filemtime('./htmlcache/cached/'.$page['expires'].'.html'); } else { return time(); } } private function saveCacheDatToDisk(){ return file_put_contents('./htmlcache/cached.dat', serialize ($this::$cachedat)); } public function purgeCache(){ unlink ('./htmlcache/cached.dat'); if(scandir('./htmlcache/cached')!==false){ $cachedfilez=array_diff(scandir('./htmlcache/cached'), array('..', '.')); foreach ($cachedfilez as $cachedfile){ unlink ('./htmlcache/cached/'.$cachedfile); } unlink ('./htmlcache/cached.dat'); } } public function purgePage($key){ $page=$this::$cachedat[$key]; unlink (file_get_contents('./htmlcache/cached/'.$page['expires'].'.html')); unset($this::$cachedat[$key]); return $this->saveCacheDatToDisk(); } } ?>