Revision: 59991
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 14, 2012 01:16 by peckham
Initial Code
<?php /** * Class Cache * * @author Koen Ekelschot * @license WTFPL */ class Cache { private $cachedFile; public function __construct($identifier) { $this->cachedFile = ROOT.DS.'tmp'.DS.'cache'.DS.md5($identifier); } public function cacheExists($maxAge) { if (file_exists($this->cachedFile) && !is_dir($this->cachedFile)) { if (filemtime($this->cachedFile) + $maxAge > time()) { return true; } else { $this->invalidateCache(); } } return false; } public function getCachedCopy() { $contents = file_get_contents($this->cachedFile); return unserialize(base64_decode($contents)); } public function getCachedFilename() { return str_replace(ROOT, '', $this->cachedFile); } public function cacheResult($result) { if (file_exists($this->cachedFile) && !is_dir($this->cachedFile)) { $this->invalidateCache(); } $base64 = base64_encode(serialize($result)); file_put_contents($this->cachedFile, $base64); } private function invalidateCache() { unlink($this->cachedFile); } } ?>
Initial URL
Initial Description
A simple class to cache files (or other results) with PHP.
Initial Title
Simple PHP cache class
Initial Tags
class, php, simple, cache
Initial Language
PHP