Вход Регистрация
Файл: upload-2031-rs1/system/library/cache/file.php
Строк: 31
<?php
namespace Cache;
class 
File {
    private 
$expire;

    public function 
__construct($expire 3600) {
        
$this->expire $expire;

        
$files glob(DIR_CACHE 'cache.*');

        if (
$files) {
            foreach (
$files as $file) {
                
$time substr(strrchr($file'.'), 1);

                if (
$time time()) {
                    if (
file_exists($file)) {
                        
unlink($file);
                    }
                }
            }
        }
    }

    public function 
get($key) {
        
$files glob(DIR_CACHE 'cache.' preg_replace('/[^A-Z0-9._-]/i'''$key) . '.*');

        if (
$files) {
            
$handle fopen($files[0], 'r');

            
flock($handleLOCK_SH);

            
$data fread($handlefilesize($files[0]));

            
flock($handleLOCK_UN);

            
fclose($handle);

            return 
unserialize($data);
        }

        return 
false;
    }

    public function 
set($key$value) {
        
$this->delete($key);

        
$file DIR_CACHE 'cache.' preg_replace('/[^A-Z0-9._-]/i'''$key) . '.' . (time() + $this->expire);

        
$handle fopen($file'w');

        
flock($handleLOCK_EX);

        
fwrite($handleserialize($value));

        
fflush($handle);

        
flock($handleLOCK_UN);

        
fclose($handle);
    }

    public function 
delete($key) {
        
$files glob(DIR_CACHE 'cache.' preg_replace('/[^A-Z0-9._-]/i'''$key) . '.*');

        if (
$files) {
            foreach (
$files as $file) {
                if (
file_exists($file)) {
                    
unlink($file);
                }
            }
        }
    }
}
Онлайн: 3
Реклама