summaryrefslogtreecommitdiff
path: root/public/upload.php
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-03-18 02:30:19 +0500
committerilotterytea <iltsu@alright.party>2025-03-18 02:30:19 +0500
commitad1f0a370d432701bc5fe4eb6fa1fb23f94c1293 (patch)
treed60ebd22fd92c0d49eb0d3693f4bca79e127bf78 /public/upload.php
parente34bce13c5916d424743f2220cd454824a4292b6 (diff)
feat: file upload
Diffstat (limited to 'public/upload.php')
-rw-r--r--public/upload.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/public/upload.php b/public/upload.php
new file mode 100644
index 0000000..2ff9e96
--- /dev/null
+++ b/public/upload.php
@@ -0,0 +1,21 @@
+<?php
+include_once $_SERVER['DOCUMENT_ROOT'] . '/../config.php';
+
+if (!isset($_FILES['file'])) {
+ http_response_code(400);
+ exit("No 'file' specified!");
+}
+
+if (!is_dir(FILE_DIRECTORY) && !mkdir(FILE_DIRECTORY, 0777, true)) {
+ http_response_code(500);
+ exit("Failed to create a directory for user files");
+}
+
+$file = $_FILES['file'];
+
+if (!move_uploaded_file($file['tmp_name'], FILE_DIRECTORY . sprintf('/%s', $file['name']))) {
+ http_response_code(500);
+ exit("Failed to save the file. Try again later.");
+}
+
+header(sprintf('Location: /%s', $file['name'])); \ No newline at end of file