blob: 9b1f2505f9cfe4127d201f36988e82dc47882d94 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?php
$keys = array_keys($_GET);
if (isset($keys[0])) {
$id = $keys[0];
} else {
die();
}
if (str_contains($id, "/") || str_contains($id, ".")) {
die();
}
if (trim($id) === "") {
die();
}
$data = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/data/files.json"), true);
$name = $id . ".bin";
foreach ($data as $item) {
if ($item["uuid"] === $id) {
$name = $item["name"];
}
}
$file = $_SERVER['DOCUMENT_ROOT'] . "/data/uploads/" . $id;
header('Content-Description: File Transfer');
header('Content-Type: ' . mime_content_type($file));
header('Content-Disposition: filename="' . $name . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
ob_clean();
flush();
readfile($file);
exit;
|