HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/retile.ru/public_html/system/library/cache/file.php
<?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)) {
            foreach ($files as $file) {
              if (!@unlink($file)) {
                unlink(false, $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($handle, LOCK_SH);

      $data = fread($handle, filesize($files[0]));

      flock($handle, LOCK_UN);

      fclose($handle);

      return json_decode($data, true);
    }

    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($handle, LOCK_EX);

    fwrite($handle, json_encode($value));

    fflush($handle);

    flock($handle, LOCK_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);
        }
      }
    }
  }
}