Files
wyczarujprezent.pl/override/classes/Customcache.php
2024-10-28 22:14:22 +01:00

48 lines
1.0 KiB
PHP

<?php
class Customcache
{
public static function store($key, $data, $ttl = 86400)
{
$filename = self::getFileName($key);
$content = gzdeflate(serialize([time() + $ttl, $data]));
file_put_contents($filename, $content);
}
public static function fetch($key)
{
$filename = self::getFileName($key);
if (!file_exists($filename) || !is_readable($filename)) {
return false;
}
$data = gzinflate(file_get_contents($filename));
$data = @unserialize($data);
if (!$data) {
unlink($filename);
return false;
}
if (time() > $data[0]) {
unlink($filename);
return false;
}
return $data[1];
}
private static function getFileName($key)
{
$md5 = md5($key);
$dir = _PS_CACHE_DIR_ . 'custom_cache/' . $md5[0] . '/' . $md5[1] . '/';
if (!is_dir($dir)) {
mkdir($dir, 0755, true);
}
return $dir . 'cache_' . $md5;
}
}