From ba61c6435b668375a411716f3a35447aa38b03a4 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 18 Jan 2025 00:22:36 +0000 Subject: implement object storage --- Digitigrade/StorageProvider/FilesystemStorage.php | 52 +++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Digitigrade/StorageProvider/FilesystemStorage.php (limited to 'Digitigrade/StorageProvider/FilesystemStorage.php') diff --git a/Digitigrade/StorageProvider/FilesystemStorage.php b/Digitigrade/StorageProvider/FilesystemStorage.php new file mode 100644 index 0000000..8f67653 --- /dev/null +++ b/Digitigrade/StorageProvider/FilesystemStorage.php @@ -0,0 +1,52 @@ +exists($token)) { + throw new \RuntimeException('requested object does not exist'); + } + $path = self::tokenToPath($token); + if (!headers_sent()) { + header('Content-Type: ' . ($mimetype ?? (mime_content_type($path) ?: 'application/octet-stream'))); + } + readfile($path); + } + + public function delete(string $token) { + $path = self::tokenToPath($token); + if (is_file($path)) { + unlink($path); + } + } +} \ No newline at end of file -- cgit v1.3