File: /home/mmickelson/view-once.com/handlers/download.php
<?php
require_once __DIR__ . '/../src/config.php';
require_once __DIR__ . '/../src/helpers.php';
header('X-Robots-Tag: noindex, nofollow, noarchive');
$uri = strtok($_SERVER['REQUEST_URI'], '?');
if (!preg_match('#^/f/([a-f0-9]{32})$#', $uri, $m)) {
show_error('Not Found', 'Invalid download URL', '404');
}
$t = $m[1];
$file_path = FILES_DIR . '/' . $t;
if (!file_exists($file_path)) {
show_error('Not Found', 'This file was already downloaded and deleted.', '404');
}
if (session_status() !== PHP_SESSION_ACTIVE) session_start();
$meta = $_SESSION['dl'][$t] ?? null;
$mime = $meta['mime'] ?? 'application/octet-stream';
$name = $meta['filename'] ?? 'download';
$size = $meta['size'] ?? filesize($file_path);
unset($_SESSION['dl'][$t]);
header('Content-Type: ' . $mime);
header('Content-Disposition: attachment; filename="' . $name . '"');
if ($size) header('Content-Length: ' . (int)$size);
readfile($file_path);
@unlink($file_path);
exit;