diff options
author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2009-10-03 14:08:25 +0000 |
---|---|---|
committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2009-10-03 14:08:25 +0000 |
commit | b7345f833dea849e94f2ce23fdbe6ab58ba98be3 (patch) | |
tree | b6b6d73910e69621824e0fb46bcaa81d08607052 /src/SemanticScuttle/Service/Cache.php | |
parent | 29422fa55379aa61a61019b832c83dab6d450264 (diff) | |
download | semanticscuttle-b7345f833dea849e94f2ce23fdbe6ab58ba98be3.tar.gz semanticscuttle-b7345f833dea849e94f2ce23fdbe6ab58ba98be3.tar.bz2 |
more file renamings
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@387 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'src/SemanticScuttle/Service/Cache.php')
-rw-r--r-- | src/SemanticScuttle/Service/Cache.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/SemanticScuttle/Service/Cache.php b/src/SemanticScuttle/Service/Cache.php new file mode 100644 index 0000000..fe66d38 --- /dev/null +++ b/src/SemanticScuttle/Service/Cache.php @@ -0,0 +1,38 @@ +<?php +class CacheService { + var $basedir; + var $fileextension = '.cache'; + + function &getInstance() { + static $instance; + + if (!isset($instance)) + $instance =& new CacheService(); + + return $instance; + } + + function CacheService() { + $this->basedir = $GLOBALS['dir_cache']; + } + + function Start($hash, $time = 300) { + $cachefile = $this->basedir .'/'. $hash . $this->fileextension; + if (file_exists($cachefile) && time() < filemtime($cachefile) + $time) { + @readfile($cachefile); + echo "\n<!-- Cached: ". date('r', filemtime($cachefile)) ." -->\n"; + unset($cachefile); + exit; + } + ob_start("ob_gzhandler"); + } + + function End($hash) { + $cachefile = $this->basedir .'/'. $hash . $this->fileextension; + $handle = fopen($cachefile, 'w'); + fwrite($handle, ob_get_contents()); + fclose($handle); + ob_flush(); + } +} +?>
\ No newline at end of file |