diff options
| author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2009-10-03 14:00:33 +0000 | 
|---|---|---|
| committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2009-10-03 14:00:33 +0000 | 
| commit | 29422fa55379aa61a61019b832c83dab6d450264 (patch) | |
| tree | e5884ce6fed2cf1d02165a1b5667b99cd80262e5 /src/SemanticScuttle/Service/cacheservice.php | |
| parent | b8b1d06b2d899658fae64d0de506439ca0ea067c (diff) | |
| download | semanticscuttle-29422fa55379aa61a61019b832c83dab6d450264.tar.gz semanticscuttle-29422fa55379aa61a61019b832c83dab6d450264.tar.bz2  | |
move files to new locations
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@386 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'src/SemanticScuttle/Service/cacheservice.php')
| -rw-r--r-- | src/SemanticScuttle/Service/cacheservice.php | 38 | 
1 files changed, 38 insertions, 0 deletions
diff --git a/src/SemanticScuttle/Service/cacheservice.php b/src/SemanticScuttle/Service/cacheservice.php new file mode 100644 index 0000000..fe66d38 --- /dev/null +++ b/src/SemanticScuttle/Service/cacheservice.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  | 
