cacheFile = 'cache/'.$cacheHash.$ext; } public function getFileName() { return $this->cacheFile; } public function delete() { @unlink($this->cacheFile); } public function get() { $cacheFile = $this->cacheFile; if(!file_exists($cacheFile)) { return false; } $cache = @gzdecode(@file_get_contents($cacheFile)); $cache = json_decode($cache, 1); $expires = $cache['expires']; $isExpired = ($expires !== false) && (time() > $expires); if(empty($cache['content']) && $isExpired) { $this->deleteCache(); return false; } return $cache['content']; } public function put($content, $validity) { $cacheFile = $this->cacheFile; $expires = $validity ? time() + $validity : false; $cache = array( 'expires' => $expires, 'content' => $content, ); if(!file_exists('cache')) mkdir('cache'); @file_put_contents($cacheFile, gzencode(json_encode($cache)."\n")); } }