summaryrefslogtreecommitdiff
path: root/classes/diskcache.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2019-08-13 12:04:36 +0300
committerAndrew Dolgov <[email protected]>2019-08-13 12:04:36 +0300
commit86308b30eadf1e42a2007b13327c12748f222018 (patch)
treeca5933144da8c5ca53e807937eadab52f02da71f /classes/diskcache.php
parentb68db2d02c96cde9b1855b7d95070a3ac49d1f7e (diff)
add classes/diskcache
Diffstat (limited to 'classes/diskcache.php')
-rw-r--r--classes/diskcache.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/classes/diskcache.php b/classes/diskcache.php
new file mode 100644
index 000000000..fdfc46cb1
--- /dev/null
+++ b/classes/diskcache.php
@@ -0,0 +1,51 @@
+<?php
+class DiskCache {
+ private $dir;
+
+ public function __construct($dir) {
+ $this->dir = basename($dir);
+ }
+
+ public function getDir() {
+ return $this->dir;
+ }
+
+ public function exists($filename) {
+ return file_exists($this->getFullPath($filename));
+ }
+
+ public function getSize($filename) {
+ if ($this->exists($filename))
+ return filesize($this->getFullPath($filename));
+ else
+ return -1;
+ }
+
+ public function getFullPath($filename) {
+ $filename = basename($filename);
+
+ return CACHE_DIR . "/" . $this->dir . "/" . $filename;
+ }
+
+ public function put($filename, $data) {
+ return file_put_contents($this->getFullPath($filename), $data);
+ }
+
+ public function touch($filename) {
+ return touch($this->getFullPath($filename));
+ }
+
+ public function get($filename) {
+ if ($this->exists($filename))
+ return file_get_contents($this->getFullPath($filename));
+ else
+ return null;
+ }
+
+ public function getMimeType($filename) {
+ if ($this->exists($filename))
+ return mime_content_type($this->getFullPath($filename));
+ else
+ return null;
+ }
+}