PHP 8.3.31
Preview: FileSessionHandler.php Size: 2.52 KB
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php

<?php

namespace Illuminate\Session;

use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Carbon;
use SessionHandlerInterface;
use Symfony\Component\Finder\Finder;

class FileSessionHandler implements SessionHandlerInterface
{
    /**
     * The filesystem instance.
     *
     * @var \Illuminate\Filesystem\Filesystem
     */
    protected $files;

    /**
     * The path where sessions should be stored.
     *
     * @var string
     */
    protected $path;

    /**
     * The number of minutes the session should be valid.
     *
     * @var int
     */
    protected $minutes;

    /**
     * Create a new file driven handler instance.
     *
     * @param  \Illuminate\Filesystem\Filesystem  $files
     * @param  string  $path
     * @param  int  $minutes
     * @return void
     */
    public function __construct(Filesystem $files, $path, $minutes)
    {
        $this->path = $path;
        $this->files = $files;
        $this->minutes = $minutes;
    }

    /**
     * {@inheritdoc}
     *
     * @return bool
     */
    public function open($savePath, $sessionName): bool
    {
        return true;
    }

    /**
     * {@inheritdoc}
     *
     * @return bool
     */
    public function close(): bool
    {
        return true;
    }

    /**
     * {@inheritdoc}
     *
     * @return string|false
     */
    public function read($sessionId): string|false
    {
        if ($this->files->isFile($path = $this->path.'/'.$sessionId) &&
            $this->files->lastModified($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
            return $this->files->sharedGet($path);
        }

        return '';
    }

    /**
     * {@inheritdoc}
     *
     * @return bool
     */
    public function write($sessionId, $data): bool
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);

        return true;
    }

    /**
     * {@inheritdoc}
     *
     * @return bool
     */
    public function destroy($sessionId): bool
    {
        $this->files->delete($this->path.'/'.$sessionId);

        return true;
    }

    /**
     * {@inheritdoc}
     *
     * @return int
     */
    public function gc($lifetime): int
    {
        $files = Finder::create()
            ->in($this->path)
            ->files()
            ->ignoreDotFiles(true)
            ->date('<= now - '.$lifetime.' seconds');

        $deletedSessions = 0;

        foreach ($files as $file) {
            $this->files->delete($file->getRealPath());
            $deletedSessions++;
        }

        return $deletedSessions;
    }
}

Directory Contents

Dirs: 2 × Files: 15

Name Size Perms Modified Actions
Console DIR
- drwxrwxrwx 2025-09-17 06:52:58
Edit Download
- drwxrwxrwx 2025-09-17 06:52:58
Edit Download
2.57 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
1.90 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
1.12 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
2.88 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
6.98 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
1.73 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
254 B lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
2.52 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
1.05 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
986 B lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
7.10 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
1.45 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
17.56 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
3.46 KB lrw-rw-rw- 2025-09-17 06:52:58
Edit Download
112 B lrw-rw-rw- 2025-09-17 06:52:58
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).